home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-22 | 129.3 KB | 2,892 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GEMFONT
- -------
-
- Ein GEMgestützter Zeichensatzeditor für GDOS-Pixelfonts
-
- Version 1.11
- Oktober 1992 bis Mai 1993
-
- (c) 1991-93 by Sascha Blank
-
- Shareware-Version
-
-
- "Für moderne GEM-Programme eignet sich [ ... ] GNU-C [ nicht ]."
- (ST-Computer 2/93, Seite 27)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
- Inhaltsverzeichnis
-
- 1. Rechtliches . . . . . . . . . . . . . . . . . . . . . . . . . . 5
- 1.1. Bedingungen für die Weitergabe von GEMFONT . . . . . . . 5
- 1.2. Haftungsausschluß . . . . . . . . . . . . . . . . . . . . 5
- 1.3. Urheberrechte und deren Schutz . . . . . . . . . . . . . 5
- 1.4. Bestimmungen zur Verbreitung selbsterstellter Fonts . . . 6
-
- 2. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- 2.1. Warum überhaupt GEMFONT? . . . . . . . . . . . . . . . . 7
- 2.2. Diese Anleitung . . . . . . . . . . . . . . . . . . . . . 7
- 2.4. Systemanforderungen . . . . . . . . . . . . . . . . . . . 8
- 2.5. Die Formalitäten . . . . . . . . . . . . . . . . . . . . 8
- 2.5.1. Wie bekomme ich GEMFONT? . . . . . . . . . . . . . 8
- 2.5.2. Das Shareware-Prinzip . . . . . . . . . . . . . . 9
- 2.5.3. Die Registrierung . . . . . . . . . . . . . . . . 9
- 2.5.4. Meine Gegenleistung . . . . . . . . . . . . . . . 10
- 2.6. Sonstige Leistungen . . . . . . . . . . . . . . . . . . . 10
- 2.6.1. Wie bekommt man ein Update? . . . . . . . . . . . 10
- 2.6.2. Programmfehler . . . . . . . . . . . . . . . . . . 10
- 2.6.3. Probleme mit GEMFONT . . . . . . . . . . . . . . . 10
- 2.6.4. Vorschläge . . . . . . . . . . . . . . . . . . . . 11
- 2.7. Austausch von Fonts . . . . . . . . . . . . . . . . . . . 11
- 2.8. Danksagungen . . . . . . . . . . . . . . . . . . . . . . 11
-
- 3. Installation und Bedienung . . . . . . . . . . . . . . . . . . . 12
- 3.1. Installation und Programmstart . . . . . . . . . . . . . 12
- 3.2. Die GEM-Erweiterungen von GEMFONT . . . . . . . . . . . . 12
- 3.2.1. Wertgebundene Slider . . . . . . . . . . . . . . . 12
- 3.2.2. Modale verschiebbare Dialoge . . . . . . . . . . . 12
- 3.2.3. Über Tastatur bedienbare Dialogboxen . . . . . . . 12
- 3.2.4. Menüzeilen in Fenster . . . . . . . . . . . . . . 13
- 3.2.5. RaveUp-Menüs . . . . . . . . . . . . . . . . . . . 13
- 3.2.6. Das Klemmbrett . . . . . . . . . . . . . . . . . . 13
- 3.3. Der Desktop . . . . . . . . . . . . . . . . . . . . . . . 13
- 3.4. Das Editorfenster . . . . . . . . . . . . . . . . . . . . 13
- 3.4.1. Aufbau . . . . . . . . . . . . . . . . . . . . . . 13
- 3.4.2. Bedienung . . . . . . . . . . . . . . . . . . . . 14
- 3.5. Bedienung der Fenster über Funktionstasten . . . . . . . 14
- 3.6. Sonstige hilfreiche Funktionen . . . . . . . . . . . . . 15
-
- 4. Das GDOS-Fontformat . . . . . . . . . . . . . . . . . . . . . . 16
- 4.1. Einführung . . . . . . . . . . . . . . . . . . . . . . . 16
- 4.2. Der Aufbau von Fonts . . . . . . . . . . . . . . . . . . 16
- 4.3. Der Fontheader . . . . . . . . . . . . . . . . . . . . . 16
-
- 5. Das Hauptmenü . . . . . . . . . . . . . . . . . . . . . . . . . 24
- 5.1. Das Menü "GEMFONT" . . . . . . . . . . . . . . . . . . . 24
- 5.1.1. "Über GEMFONT..." (Control Z) . . . . . . . . . . 24
- 5.2. Das Menü "Datei" . . . . . . . . . . . . . . . . . . . . 24
- 5.2.1. "Neu anlegen..." (Control N) . . . . . . . . . . . 24
- 5.2.2. "Öffnen..." (Control O) . . . . . . . . . . . . . 24
- 5.2.3. "Schließen..." (Control U) . . . . . . . . . . . . 25
- 5.2.4. "Sichern" (Control S) . . . . . . . . . . . . . . 25
- 5.2.5. "Sichern unter..." (Control M) . . . . . . . . . . 25
- 5.2.6. "Sichern Metafont..." (Control H) . . . . . . . . 25
- 5.2.7. "Abbrechen..." (Control D) . . . . . . . . . . . . 26
- 5.2.8. "Entfernen..." (Control L) . . . . . . . . . . . . 26
- 5.2.9. "Importieren..." (Control I) . . . . . . . . . . . 26
- 5.2.10. "Exportieren..." . . . . . . . . . . . . . . . . 27
-
- 2
-
- 5.2.11. "Clipboard laden" . . . . . . . . . . . . . . . . 27
- 5.2.12. "Clipboard speichern" . . . . . . . . . . . . . . 27
- 5.2.13. "Clipboard löschen" . . . . . . . . . . . . . . . 28
- 5.2.14. "Ende" (Control Q) . . . . . . . . . . . . . . . 28
- 5.3. Das Menü "Block" . . . . . . . . . . . . . . . . . . . . 28
- 5.3.1. "Blockanfang" (Control B) . . . . . . . . . . . . 28
- 5.3.2. "Blockende" (Control K) . . . . . . . . . . . . . 28
- 5.3.3. "Alles auswählen" (Control A) . . . . . . . . . . 28
- 5.3.4. "Ausschneiden" (Control X) . . . . . . . . . . . . 28
- 5.3.5. "Kopieren" (Control C) . . . . . . . . . . . . . . 29
- 5.3.6. "Einfügen" (Control V) . . . . . . . . . . . . . . 29
- 5.3.7. "Blockkopiermodi..." . . . . . . . . . . . . . . . 29
- 5.4. Das Menü "Puffer" . . . . . . . . . . . . . . . . . . . . 29
- 5.4.1. "Maske nach Puffer..." (Alternate P) . . . . . . . 29
- 5.4.2. "Puffer nach Maske..." (Alternate M) . . . . . . . 29
- 5.4.3. "Puffer speichern..." (Alternate U) . . . . . . . 29
- 5.4.4. "Puffer laden..." (Alternate O) . . . . . . . . . 30
- 5.5. Das Menü "Parameter..." . . . . . . . . . . . . . . . . . 30
- 5.5.1. "Speicherstatistik..." . . . . . . . . . . . . . . 30
- 5.5.2. "Parameter einstellen..." (Alternate Q) . . . . . 30
- 5.5.3. "Parameter speichern..." . . . . . . . . . . . . . 32
- 5.6. Das Menü "Fonts" . . . . . . . . . . . . . . . . . . . . 32
- 5.6.1. "Öffne xxxxxxxx.xxx" (Control 1 bis 7) . . . . . . 32
- 6. Das Editorfenstermenü . . . . . . . . . . . . . . . . . . . . . 33
- 6.1. Das Menü "GEMFONT" . . . . . . . . . . . . . . . . . . . 33
- 6.1.1. "Über GEMFONT..." . . . . . . . . . . . . . . . . 33
- 6.2. Das Menü "Zeichen" . . . . . . . . . . . . . . . . . . . 33
- 6.2.1. "Auswahl..." (Funktionstaste 1) . . . . . . . . . 33
- 6.2.2. "Breite" (Funktionstaste 2) . . . . . . . . . . . 33
- 6.2.3. "Hor. Verschiebung..." (Alternate V) . . . . . . . 34
- 6.2.4. "Zentrieren..." (Funktionstaste 7) . . . . . . . . 34
- 6.2.5. "Ausmaß anpassen..." (Funktionstaste 8) . . . . . 34
- 6.2.6. "Werkzeuge..." (Funktionstaste 3) . . . . . . . . 34
- 6.2.7. "Schieben/Rotieren..." (Funktionstaste 4) . . . . 35
- 6.2.8. "Spiegeln/Drehen..." (Funktionstaste 5) . . . . . 35
- 6.2.9. "Stauchen/Strecken..." (Funktionstaste 6) . . . . 35
- 6.2.10. "Verfetten" . . . . . . . . . . . . . . . . . . . 36
- 6.2.11. "Komplett löschen" (Alternate L) . . . . . . . . 36
- 6.2.12. "Zeichen aufräumen" . . . . . . . . . . . . . . . 36
- 6.3. Das Menü "Editor" . . . . . . . . . . . . . . . . . . . . 36
- 6.3.1. "Editormaskengröße..." (Alternate C) . . . . . . . 36
- 6.3.2. "Editorrastergröße..." (Alternate R) . . . . . . . 37
- 6.3.3. "Hilfspunkt setzen" (Funktionstaste 9) . . . . . . 37
- 6.3.4. "Hilfspunkt löschen" (Alternate W) . . . . . . . . 37
- 6.3.5. "Alle Punkte löschen" . . . . . . . . . . . . . . 37
- 6.3.6. "Änderungen zurücknehmen" (UNDO) . . . . . . . . . 37
- 6.3.7. "Undopuffer aktualisieren" (Control UNDO) . . . . 37
- 6.4. Das Menü "Fontheader" . . . . . . . . . . . . . . . . . . 37
- 6.4.1. "Zeichenextrema..." (Alternate Z) . . . . . . . . 37
- 6.4.2. "Fontlinien..." (Alternate A) . . . . . . . . . . 38
- 6.4.3. "Fontflags..." (Alternate B) . . . . . . . . . . . 38
- 6.4.4. "Fontkenndaten..." (Alternate D) . . . . . . . . . 38
- 6.4.5. "Kursivschrift..." (Alternate K) . . . . . . . . . 38
- 6.4.6. "Fettschrift..." (Alternate F) . . . . . . . . . . 38
- 6.4.7. "Unterstreichen..." (Alternate G) . . . . . . . . 38
- 6.4.8. "Helle Schrift..." (Alternate H) . . . . . . . . . 38
- 6.5. Schriftproben . . . . . . . . . . . . . . . . . . . . . . 38
-
- 7. Häufige Fragen, Probleme und Tips . . . . . . . . . . . . . . . 40
-
-
- 3
-
- 8. Bezugsquellen für GDOS . . . . . . . . . . . . . . . . . . . . . 41
- 8.1. GDOS . . . . . . . . . . . . . . . . . . . . . . . . . . 41
- 8.2. GDOS-Fonts . . . . . . . . . . . . . . . . . . . . . . . 41
- 9. Interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
- 9.1. Wie alles anfing . . . . . . . . . . . . . . . . . . . . 43
- 9.2. Ein paar Fakten . . . . . . . . . . . . . . . . . . . . . 43
- 9.3. Laden und Speichern von Fonts . . . . . . . . . . . . . . 43
-
- 10. Fontregistrierung . . . . . . . . . . . . . . . . . . . . . . . 45
- 10.1. Die Idee . . . . . . . . . . . . . . . . . . . . . . . . 45
- 10.2. Die Registrierung . . . . . . . . . . . . . . . . . . . 45
- 10.3. Anfragen . . . . . . . . . . . . . . . . . . . . . . . . 45
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
-
- 1. Rechtliches
- 1.1. Bedingungen für die Weitergabe von GEMFONT
-
- GEMFONT wird als Shareware vertrieben. Es ist ausdrücklich erwünscht,
- daß GEMFONT weitergegeben wird. Dies darf jedoch nur in vollständiger
- und unveränderter Form geschehen, d.h. es müssen stets alle Dateien
- unverändert weitergegeben werden.
- Das Uploaden in Mailboxen, FTP-Server und anderen Netzen ist ebenfalls
- ausdrücklich erwünscht, da ich selbst keinen direkten Zugang zu Mail-
- boxnetzen habe. Es ist aber ausdrücklich verboten, GEMFONT kosten-
- pflichtig im PD-Versand zu vertreiben (Ausnahmen erfordern eine
- schriftliche Genehmigung meinerseits). Zuwiderhandlungen können recht-
- lich verfolgt werden!
- Ansonsten: Bitte empfehlen und verbreiten Sie GEMFONT weiter!
-
-
- 1.2. Haftungsausschluß
-
- Obwohl GEMFONT mit großer Sorgfalt erstellt worden ist, kann ich nicht
- ausschließen, daß noch Fehler im Programm und/oder der Anleitung exi-
- stieren. Deshalb stelle ich folgendes fest:
-
- Die in dieser Dokumentation enthaltenen Informationen sind
- zum Zeitpunkt ihrer Veröffentlichung wahrscheinlich korrekt.
- Trotzdem werden alle Informationen ohne irgendeine Garantie
- weitergegeben.
- Ich lehne jede Haftung für Schäden und sonstige Folgen ab,
- die direkt oder indirekt durch die Benutzung von GEMFONT
- und/oder der Dokumentation entstanden sind. Dies gilt auch
- für den Fall, daß die Schäden auf Fehler im Programm und/oder
- der Dokumentation zurückzuführen sind. Die Benutzung erfolgt
- stets ausschließlich auf eigene Gefahr. Ebenso garantiere ich
- nicht dafür, daß GEMFONT für einen bestimmten Zweck tauglich
- ist. Des weiteren lehne ich jede Haftung für Verstöße gegen
- das Urheberrecht ab, die in Zusammenhang mit dem nachfolgen-
- den Kapitel "Urheberrechte und deren Schutz" stehen.
-
- Sie dürfen GEMFONT für den Eigengebrauch modifizieren, z.B. laufzeit-
- packen oder patchen (obwohl sich das nicht lohnt, da es weder einen
- Kopierschutz noch sonstige Lächerlichkeiten (etwa zeitgekoppelte Demo-
- phasen (die meisten sind eh' so primitiv implementiert)) zu entfernen
- gilt). Selbstverständlich übernehme ich erst recht keine Verantwortung
- für solche modifizierten Versionen. Zudem verbiete ich die Weitergabe
- solcher modifizierter Versionen an Dritte.
-
-
- 1.3. Urheberrechte und deren Schutz
-
- Mit GEMFONT ist es u.a. möglich, Signum- und Bitmap-Fonts in GDOS-
- Fonts umzuwandeln. Bitte achten Sie dabei unbedingt auf den urheber-
- rechtlichen Schutz der Fonts, die Sie konvertieren wollen.
-
- Die konvertierten Fonts unterliegen den gleichen rechtlichen
- Bestimmungen wie die Originalfonts!
-
- Unterliegen die zu konvertierenden Fonts keinem Urheberrecht bzw. hat
- der/die/die Autor/in/en das Recht auf die Weitergabe oder die Konver-
- tierung der Fonts in andere Formate nicht weiter eingeschränkt, so
- spricht im allgemeinen nichts dagegen, diese nach der Konvertierung in
- GDOS-Fonts erneut in Umlauf zu bringen. Dies trifft auf viele Signum-
-
- 5
-
- Fonts zu, die meist den Status "Public Domain" tragen.
- Daneben gibt es Fonts, die urheberrechtlich geschützt sind, beispiels-
- weise die Signum-Fonts der "Professional Font-Disks". In diesem Fall
- beziehen sich die Einschränkungen der Weitergabe sowohl auf die Origi-
- nale als auch auf die daraus konvertierten Fonts. In der Regel dürfen
- diese Fonts nicht weitergegeben werden, so daß eine Konvertierung ins
- GDOS-Format ausschließlich für den eigenen Gebrauch erlaubt ist, deren
- Weitergabe an andere ist aber nicht erlaubt.
- Bitte beachten Sie diesen Hinweis in Ihrem eigenen Interesse. Im Zwei-
- felsfall sollten Sie das Einverständnis des/der/der Autor/in/en einho-
- len oder zu Ihrem eigenen Schutz von einer Verbreitung absehen.
-
- 1.4. Bestimmungen zur Verbreitung selbsterstellter Fonts
-
- Die Verbreitung von Fonts, die von Ihnen selbst erstellt wurden und
- ausschließlich ihrem eigenen Copyright unterliegen (also frei von
- Rechten Dritter sind), wird hiermit uneingeschränkt erlaubt. Es müssen
- weder Lizenzgebühren an den Programmautor gezahlt werden noch etwa muß
- um dessen Erlaubnis zur Verbreitung der Fonts gebeten werden. Dies gilt
- auch für den Fall, daß die Fonts als Teil eines kommerziellen Programm-
- pakets verbreitet werden.
- Die einzige Auflage, die ich stelle, ist diejenige, daß alle Produkte,
- die mit GEMFONT erstellte Fonts beinhalten, einen Hinweis auf GEMFONT
- tragen müssen. Dieser sollte beispielsweise im Handbuch, der Anleitung
- oder dem Programm selbst stehen und die Form
-
- "Die diesem Programm beiliegenden GDOS-Fonts wurden mit dem
- Programm 'GEMFONT' von Sascha Blank, (c) 1991-1993 erstellt."
-
- haben. Zudem muß erwähnt werden, wie man GEMFONT beim Programmautor
- beziehen kann, etwa so:
-
- "Eine Kopie von GEMFONT erhalten Sie beim Autor von GEMFONT
- durch Zusendung eines frankierten Rückumschlags inkl. 3,5"-
- Diskette an folgende Adresse: Sascha Blank, Brentanostraße
- 21, W-5500 Trier" (Nach dem Inkrafttreten der neuen PLZen ist
- die alte PLZ durch die neue 54294 zu ersetzen.)
-
- Wenn Sie eigene Fonts verbreiten wollen, so wäre ich dankbar, wenn Sie
- mir eine Kopie der Fonts zukommen lassen würden. Dies ist jedoch nicht
- zwingend nötig.
- Wenn Sie weitere Fragen haben, dann wenden Sie sich bitte an mich.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6
-
- 2. Einleitung
- 2.1. Warum überhaupt GEMFONT?
-
- "Jetzt habe ich endlich einen GDOS-Druckertreiber, und dann
- gibt es keine Fonts dafür!"
- Der Autor, im Sommer 1992
-
- So ging es mir, als ich nach langem Suchen auf zahlreichen FTP-Servern
- endlich einen GDOS-Druckertreiber für meinen NEC-Pinwriter gefunden
- hatte. Einen Treiber hatte ich also nun, aber keine Fonts dafür, so daß
- ich über das VDI eigentlich keine Texte auf dem Drucker ausgeben konn-
- te. Mit Hilfe eines FX-Emulationsprogramms und der GDOS-Zeichensätzen
- für den Epson FX-85 aus der Atari GDOS-Distribution gelang mir es dann
- doch, aber die Qualität ist bei 9-Nadlerfonts zwangsläufig enttäu-
- schend.
- Die weitere Suche nach Fonts verlief ergebnislos. Das Entwerfen eigener
- Fonts war kaum möglich, weil zum einen der eine Editor, den ich eben-
- falls nach langem Suchen gefunden hatte, unbrauchbar war und zum ande-
- ren der Entwurf von Druckerfonts sehr aufwendig ist und ein gewisses
- Mindestmaß an typographischem Wissen erfordert, wenn das Ergebnis an-
- sprechend sein soll.
- Eine Möglichkeit wäre es, die vielen zum Teil sehr guten Signum-Fonts
- in GDOS-Fonts zu konvertieren, doch dies war bisher nicht möglich.
- (Angeblich gibt es ein Programm, das dies kann, doch es ist mir bis
- heute nicht begegnet.)
- Um dem Fontnotstand zu mildern, beschloß ich, einen Fonteditor speziell
- für GDOS-Fonts zu entwerfen, der den Entwurf von Fonts möglichst ein-
- fach machen soll.
- Inzwischen liegt das erste größere Update als Version 1.10 vor. Viele
- Ideen, die ich während meiner Vorbereitungszeit auf einige Klausuren
- gesammelt habe, sind hier mit eingegangen. Da sind vor allem die stark
- beschleunigten und erweiterten Vergrößer-/Verkleinerungsroutinen sowie
- die Anzeige von VDI-Textattributen bei Schriftproben zu erwähnen.
-
-
- 2.2. Diese Anleitung
-
- Diese Anleitung beschreibt (hoffentlich) alle Fakten, die nötig sind,
- um alle Funktionen von GEMFONT bedienen und deren Wirkung verstehen zu
- können. Dazu habe ich mich meist an das Prinzip "lieber lange und genau
- als zu kurz und zu knapp erklären" gehalten, denn umfangreiche Erläute-
- rungen sind nötig, weil besonders Anfänger nicht über das zugegeben
- teilweise komplexe Insiderwissen verfügen; aber auch, weil GDOS und
- besonders seine Interna bis heute nur spärlich dokumentiert sind und
- man viele Fakten selbst ermitteln muß.
-
-
- 2.3. Was GEMFONT so alles kann
-
- GEMFONT bietet folgende Eigenschaften:
-
- - komplett in GEM eingebunden, dadurch lauffähig auf allen Atari-
- Systemen in jeder Auflösung.
- - "zukunftssicher" in Bezug auf MultiGEM und MultiTOS durch ver-
- schiebbare modale Dialogboxen sowie durch die Nutzung des Klemm-
- bretts.
- - Steigerung des Bedienungskomforts durch Popup-Menüs, über Tastatur
- bedienbare Dialoge und Menüs, Menüzeilen in Fenstern, benutzerde-
- finierte Objekte (MultiTOS-sauber) und einigem mehr.
- - Bearbeitung von bis zu sieben Fonts gleichzeitig, die je in einem
-
- 7
-
- eigenen Fenster bearbeitet werden. (Diese Anzahl ließe sich durch-
- aus noch steigern, doch mehr Fonts wären wohl nicht mehr sinn-
- voll.)
- - Import von Signum II Drucker- und Editorfonts (9- und 24-Nadel
- Format und 300 DPI-Laserformat).
- - Import und Export von reinen Bitmap-Fonts (Degas Format).
- - Laden und Speichern von Fonts im Motorola- und Intelformat.
- - Speichern von Metafont-Informationsfiles.
- - Teilweise Reparatur und Korrektur von defekten Fonts und solchen,
- die in falschen Formaten gespeichert wurden (nahezu alle GDOS-
- Fonts aus den Anfangszeiten von GDOS).
- - Manipulation aller Parameter im Zeichensatzheader möglich, einige
- davon werden auf Wunsch automatisch berechnet bzw. interpoliert.
- - zahlreiche Editorhilfen wie eingeblendete Ausrichtungslinien, frei
- wählbare Hilfspunkte.
- - zahlreiche Werkzeuge wie Linien, Rechtecke, Rahmen, halbe, viertel
- und ganze Kreise.
- - zahlreiche Effekte wie spiegeln, drehen, verschieben, rotieren,
- verfetten, stauchen, aushöhlen, umranden, invertieren, zentrieren
- etc.
- - Verkleinerung und Vergrößerung einzelner Zeicher oder ganzer
- Fonts. Seit Version 1.10 sorgen hochoptimierte Routinen für deut-
- liche Geschwindigkeitszuwächse gegenüber Vorversionen (Faktor 10
- bis 15).
- - Das editierte Zeichen wird ständig in Echtgröße angezeigt.
- - Eine beliebige Zeichenprobe kann auf dem Bildschirm zur Gesamtbe-
- urteilung des Fonts ausgegeben werden. Sofern ein GDOS-Drucker-
- treiber vorhanden ist, kann ein Ausdruck auch auf einen Drucker in
- Echtgröße erfolgen. Seit Version 1.10 können dabei auch die VDI-
- Textattribute hinzugeschaltet und kombiniert werden.
- - komfortable Puffer- und Blockfunktionen.
-
- 2.4. Systemanforderungen
-
- GEMFONT arbeitet mit jeder Bildschirmauflösung, jeder Farbfähigkeit,
- jedem Monitor und jeder Grafikkarte, sofern sie ordnungsgemäß durch das
- VDI unterstützt wird. Trotzdem sollte der Monitor wegen der Menüs eine
- Mindestauflösung von 80 mal 25 Zeichen bieten (muß aber nicht).
- Der Betrieb ist auf allen Atari ST/STE/TT/Falcon-Systemen mit jeder
- beliebigen TOS-Version möglich (>= TOS 1.04 sollte es aber schon sein).
- Da es unter MiNT keine Probleme gibt, sollte dies auf MultiTOS eben-
- falls zutreffen. Der Betrieb unter MultiGEM sollte auch keine Probleme
- bereiten, was ich jedoch mangels Programm nicht selbst testen konnte.
- Eine Festplatte ist nicht nötig, aber empfehlenswert. Zum Betrieb soll-
- ten mindestens 350 Kbyte freier Speicher vorhanden sein, da GEMFONT
- selbst etwa 280 Kbyte beansprucht. Doch beim Entwurf von großen Fonts,
- etwa für hochauflösende Drucker, sollte mindestens 1 Mbyte Gesamtspei-
- cher zur Verfügung stehen, da so große Fonts im Editor leicht mehrere
- Hundert KByte in Anspruch nehmen (wohlgemerkt nur im Editor). Kurz
- gesagt: je mehr Speicher, um so besser. Die Größe des freien Speichers
- beeinflußt letztendlich die Maximalgröße der Fonts, die Sie bearbeiten
- können.
- Ein GDOS ist nicht notwendig, außer, Sie wollen eine Schriftprobe auch
- auf dem Drucker begutachten. In diesem Fall benötigen Sie einen passen-
- den GDOS-Druckertreiber, aber keine passenden Fonts.
-
-
- 2.5. Die Formalitäten
-
- 2.5.1. Wie bekomme ich GEMFONT?
-
- 8
-
- Eine Kopie von GEMFONT können Sie direkt bei mir erhalten. Dazu schik-
- ken Sie mir einfach eine 3,5"-Diskette (DD, auf Wunsch auch HD) sowie
- einen an sich selbst adressierten und ausreichend frankierten Rückum-
- schlag zu. Meine Adresse finden Sie weiter unten.
-
-
- 2.5.2. Das Shareware-Prinzip
-
- GEMFONT wird als Shareware betrieben. Für diejenigen, die (immer) noch
- nicht wissen, was es damit auf sich hat, sei das Prinzip noch einmal
- kurz erklärt (siehe auch den Abschnitt "Rechtliches").
- Shareware bedeutet, daß Sie beim Erhalt des Programms erst mal nichts
- zahlen müssen. Sie können dann über einen angemessenen Zeitraum (bis zu
- einem Monat ist angemessen) das Programm auf Herz und Nieren prüfen,
- ohne daß dabei Kosten entstehen. Wenn Ihnen das Programm nicht gefällt,
- dann vergessen Sie es am besten wieder. Sollte es Ihnen aber gefallen
- und/oder Sie benutzen es regelmäßig, dann wird die Sharewaregebühr
- fällig, die an der Programmautor zu zahlen ist (also an mich).
- "Warum soll ich den überhaupt bezahlen?" werden Sie sich wohl fragen.
- Nun, in diesem Programm steckt viel Arbeit (inzwischen über zwei Jahre
- und alles in meiner Freizeit neben dem Studium), für die ich wenigstens
- eine kleine Entschädigung haben möchte, schließlich erhalten Sie ja
- auch ein professionelles Produkt.
-
-
- 2.5.3. Die Registrierung
-
- Bei GEMFONT beträgt die Shareware-Gebühr 30,- DM (ich nehme aber auch
- gerne mehr). Diesen Betrag können Sie mir auf verschiedene Arten zukom-
- men lassen:
-
- 1.) als Bargeld oder
- 2.) in Form eines (Verrechnungs-)Schecks
-
- Nochmal meine Adresse:
-
- Sascha Blank
- Brentanostraße 21
- W-5500 Trier (Ab 1. Juli 1993: 54294 Trier)
- Bundesrepublik Deutschland
-
- Die Registrierung kann nur schriftlich erfolgen, füllen Sie dazu bitte
- das Formular am Ende dieser Anleitung aus und schicken Sie mir es zu.
- Generell: wenn Sie mit mir Kontakt aufnehmen, dann bitte ich um ein
- wenig Geduld, sollte es einmal etwas dauern; das Studium geht halt vor.
- Wenn Sie sich schriftlich an mich wenden, legen Sie bitte ausreichend
- Rückporto bei (entfällt bei der Registrierung). Für Anwender mit Zugang
- zum InterNet bin ich auch über "blank@server.uni-trier.de" erreichbar.
- Alternativ können Sie auch die Adresse "blank@treveris.uni-trier.de"
- verwenden.
-
- Ach ja: Dank dem neuen Konzept "Brief 2000" der Deutschen Bundespost
- kostet der Versand einer Diskette in einer gepolsterten Versandtasche
- jetzt 3,- statt bisher 1,- DM. Da ich aber nicht einsehe, für diese
- Leistung jetzt dreimal soviel zu bezahlen wie bisher, zumal die Quali-
- tät des Versands nicht besser geworden ist, verschicke ich die Disket-
- ten ab sofort in verstärkten Briefumschlägen. Auf diese Weise kann ich
- das Porto je nach Gewicht der Beilagen auf 2,- bzw. 1,- DM drücken. Wer
- jedoch Angst hat, die Diskette könnte nicht heil bei Ihr/Ihm ankommen,
- der kann mir zusätzlich 3,- DM in Briefmarken mitschicken und erhält
-
- 9
-
- dann Ihre/Seine Diskette wieder in einer gepolsterten Versandtasche.
-
- 2.5.4. Meine Gegenleistung
-
- Wenn Sie mir die Shareware-Gebühr zukommen lassen, werden Sie bei mir
- als Anwender von GEMFONT registriert. Dies bringt ihnen folgende Vor-
- teile:
-
- - Sie erhalten umgehend die neueste Version des Programms zugesandt.
- - Sie können jederzeit ein Update bei mir anfordern.
- - Wenn Sie ein Problem mit GEMFONT haben, dann können Sie sich je-
- derzeit an mich wenden.
- - Wenn Sie einen Fehler gefunden haben, können Sie eine korrigierte
- Version von mir erhalten.
- - Sie erhalten neuere Versionen, die möglicherweise nur noch regi-
- strierten Anwendern zugänglich gemacht werden.
-
-
- 2.6. Sonstige Leistungen
-
- 2.6.1. Wie bekommt man ein Update?
-
- Als registrierter Anwender können Sie jederzeit ein Update von GEMFONT
- bei mir erhalten. Dazu schicken Sie mir einfach eine 3,5"-Diskette (DD,
- auf Wunsch auch HD) sowie einen an sich selbst adressierten und ausrei-
- chend frankierten Rückumschlag zu.
- Sollten Sie nicht genau wissen, ob es bereits ein Update gibt, dann
- schicken Sie mir trotzdem eine Diskette und sagen mir zusätzlich,
- welche die neuste Version ist, die Sie besitzen. Sollte diese Version
- noch die aktuelle sein, dann behalte ich Ihre Diskette einfach solange,
- bis es eine neuere Version gibt. Diese schicke ich Ihnen dann automa-
- tisch zu, wenn sie veröffentlicht wird.
-
-
- 2.6.2. Programmfehler
-
- Wenn Sie glauben, einen Fehler im Programm oder in der Anleitung gefun-
- den zu haben, dann bitte ich Sie, mir diesen mitzuteilen. Dazu benötige
- ich eine genaue Beschreibung ihres Systems (Versionsnummer von GEMFONT,
- TOS-Version, Speicherausbau, Accessories etc.), je genauer, um so
- besser. Sollte der Fehler rekonstruierbar sein, so sagen Sie mir bitte,
- wie.
- Wenn Sie mir eine Diskette mitschicken (Modalitäten siehe oben), dann
- erhalten Sie eine fehlerbereinigte Version, sofern ich den Fehler
- finden und beheben kann. Tritt der Fehler in Zusammenhang mit bestimm-
- ten Fonts auf, dann ist es hilfreich, wenn Sie mir die Fonts auf die
- Diskette mitkopieren.
-
-
- 2.6.3. Probleme mit GEMFONT
-
- Sollten Sie einmal ein Problem mit GEMFONT haben und es ohne anderwei-
- tige Hilfe nicht lösen können, dann können Sie sich an mich wenden. Ich
- werde mich im Rahmen meiner Möglichkeiten bemühen, Ihnen zu helfen.
- Auch hier gilt: Je genauer Sie mir Ihr Problem und die Umstände be-
- schreiben, desto eher kann ich Ihnen helfen.
-
-
- 2.6.4. Vorschläge
-
-
- 10
-
- Wenn Sie besondere Wünsche, Erweiterungen oder Vorschläge haben, die
- Sie gerne in zukünftigen Versionen von GEMFONT realisiert sehen würden,
- dann teilen Sie mir diese mit. Ich werde ich mich dann bemühen, diese
- aufzugreifen und nach eingehender Prüfung in die Tat umzusetzen.
-
- 2.7. Austausch von Fonts
-
- Wenn Sie neue Fonts entworfen bzw. konvertiert haben und glauben, sie
- könnten auch für andere Benutzer nützlich sein, dann schicken Sie mir
- diese doch zu, sofern sich dies mit den rechtlichen Bestimmungen ver-
- einbaren läßt (siehe Kapitel 1). Ich werde diese Fonts dann zusammen
- mit GEMFONT verbreiten, soweit es die Umstände, d.h. der Platz auf der
- Diskette zuläßt. Vielleicht entsteht so eine kleine (oder auch große)
- Sammlung an hochwertigen GDOS-Fonts. Besonders dringend werden "Brot-
- schriften" gebraucht, also solche Schriften, die sehr häufig benutzt
- werden (beispielsweise Times oder Helvetica). Zier- oder Frakturschrif-
- ten sind zwar schön anzuschauen, werden aber nur selten genutzt.
-
-
- 2.8. Danksagungen
-
- Bedanken möchte ich mich bei
-
- - der Free Software Foundation für ihren hervorragenden C-Compiler
- und all die anderen Utilities, die unter ihrer Feder entstehen,
- sowie all denjenigen, die sie immer wieder auf TOS/MiNT portieren.
- - Eric R. Smith, Nick Castellano, Jhawar Bammi und allen anderen für
- ihre ausgezeichneten C-Bibliotheken und ihre Mitarbeit an MiNT.
- - dem Autorentrio Jankowski/Rabich/Reschke für ihr Profibuch (wann
- kommt die Fortsetzung?)
- - dem ST-Magazin für sein Expertenforum, ohne daß ich so manches Mal
- auf dem Schlauch gestanden hätte.
- - Joachim Höhne aus Osnabrück, der sich als erster bei mir regi-
- strieren ließ. Selbstverständlich möchte ich mich auch bei allen
- anderen registrieten Anwendern für ihre Ehrlichkeit danken.
-
-
- Nicht bedanken möchte ich mich bei
-
- - dem, der das deutsche Handbuch zu Lattice C verfasst hat. (Wenn
- ich so die Leserbriefe in den wichtigen ST-Publikationen oder die
- Nachrichten im NewsNet lese, dann weiß ich, daß ich mit meiner
- Meinung nicht alleine stehe!)
- - dem, der meinen Account auf dem alten SUN-Server aufgelöst hat.
- (das kann eigentlich nur einer gewesen sein...)
- - einem gewissen Herrn für eine gewisse "Algorithmen und Datenstruk-
- turen"-Klausur im SS 92 (er wird wissen, daß er gemeint ist...)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 11
-
- 3. Installation und Bedienung
- 3.1. Installation und Programmstart
-
- Die Installation von GEMFONT gestaltet sich einfach. Kopieren Sie die
- Dateien GEMFONT.APP, GEMFONT.RSC und GEMFONT.INF (sofern vorhanden) an
- einen gleichen, aber beliegen Platz, der Ihnen zusagt.
- GEMFONT kann als GEM-Applikation nicht aus dem AUTO-Ordner gestartet
- werden. Sollten Sie es versehentlich doch einmal versuchen, dann be-
- merkt GEMFONT dies und verhindert Schlimmeres. Eine Installation als
- Accessory durch Umbenennen von GEMFONT.APP in GEMFONT.ACC ist zwar
- möglich, doch GEMFONT unterstützt den Accessorymodus nicht weiter, u.a.
- aufgrund der komplexen internen Speicherverwaltung. In diesem Fall be-
- legt GEMFONT zwar einen Accessoryeintrag, doch der Versuch, dieses
- Accessory zu aktivieren, wird ignoriert.
- Werden GEMFONT Fonts als Parameter übergeben (etwa durch Ziehen eines
- Fonts auf das GEMFONT-Icon unter Newdesk oder Gemini), so werden diese
- Fonts automatisch geladen.
-
-
- 3.2. Die GEM-Erweiterungen von GEMFONT
-
- GEMFONT benutzt neben den üblichen GEM-Elementen noch weitere, um den
- Benutzerkomfort weiter zu steigern.
-
-
- 3.2.1. Wertgebundene Slider
-
- Wer XCONTROL kennt, der kennt auch die Slider, bei deren Bewegung
- irgendeine Anzeige gleichzeitig aktualisiert wird. Auch GEMFONT benutzt
- solche Slider. Ihre Bedienung funktioniert genau wie die Fenster-Sli-
- der.
-
-
- 3.2.2. Modale verschiebbare Dialoge
-
- Modale verschiebbare Dialoge gehören inzwischen zum guten Ton eines
- GEM-Programms. Das bedeutet nichts anderes, als daß alle Dialoge in
- Fenstern liegen. Dadurch wird die Parallelverarbeitung von Prozessen
- auch während der Dialogbearbeitung nicht unterbrochen.
- Wird ein Dialog bearbeitet, so können alle anderen Fenster, die zur
- gleichen Applikation gehören, nicht nach oben gebracht werden. Eine
- Weiterarbeit ist erst dann möglich, wenn der Dialog beendet wurde.
- Zudem sind alle Menüeinträge gesperrt, andere Accessories können jedoch
- weiterhin aktiviert werden. So kann die Applikation im Hintergrund wei-
- terarbeiten, während ein anderer Prozess im Vordergrund läuft.
- Sollte kein Fenster mehr für die Anzeige eines Dialogs zur Verfügung
- stehen, dann wird er normal, also ohne Fenster bearbeitet. Die Paral-
- lelverarbeitung ist in diesem Fall natürlich unterbrochen.
- Sollte Ihnen das zu kompliziert sein, so brauchen Sie sich nur zu mer-
- ken, daß alle Dialoge in Fenstern liegen und daß sich an deren Bedie-
- nung nichts geändert hat gegenüber normalen Dialogen.
-
-
- 3.2.3. Über Tastatur bedienbare Dialogboxen
-
- Alle Dialoge sind über Tastatur bedienbar. Wenn in einem Button ein
- Zeichen unterstrichen ist, so können Sie diesen durch <Alternate>+<unt-
- erstrichenes Zeichen> aktivieren. Die Taste <UNDO> löst meistens einen
- Button aus, der sinngemäß für den Abbruch einer Aktion steht ("Ende",
- "Abbruch" etc.)
-
- 12
-
-
- 3.2.4. Menüzeilen in Fenster
-
- Fenster können ebenfalls Menüzeilen besitzen. Um ein Menü auszuklappen,
- klicken Sie den Titel an, das Menü klappt je nach freiem Platz nach
- unten oder nach oben aus. Jetzt können Sie wie gewohnt einen Eintrag
- selektieren, ein Klick außerhalb der Menübox selektiert keinen Eintrag
- und bricht die Auswahl zudem ab. Halten Sie die Maustaste nach dem
- Klick auf den Titel gedrückt, dann klappt das Menü aus. Fahren Sie mit
- der Maus auf den gewünschten Eintrag. Dieser wird dann beim Loslassen
- der Maustaste selektiert (am besten mal ausprobieren). Auf diese Weise
- können Sie ein Menü mit einem Klick bedienen. Nach einer Selektion bzw.
- Nichtselektion (ein Klick außerhalb der Menübox) klappt das Menü in
- jedem Fall ein (hört sich schlimmer an, als es ist). Fenstermenüs
- können ebenso wie die echten Menüs über Tastaturkürzel gesteuert wer-
- den. Diese finden sie jeweils am rechten Rand des Eintrags.
- Wenn ein Menü ausgeklappt ist und der Mauszeiger auf einem Eintrag
- steht, Sie aber dann das Kürzel eines anderen Eintrags tippen, so hat
- das eingegebene Kürzel Vorrang vor dem Eintrag, auf dem der Mauszeiger
- steht.
-
-
- 3.2.5. RaveUp-Menüs
-
- RaveUp-Menüs (eigentlich heißen sie ja PopUp-Menüs) werden genauso wie
- die Menüzeilen in den Fenstern bedient. Mit dem kreisförmigen Pfeil
- rechts neben dem Menü kann nacheinander jeder Eintrag ausgewählt wer-
- den, ohne daß dabei das Menü ausgeklappt werden muß.
- Klappt ein RaveUp-Menü aus, so ist der bisher aktuelle Eintrag mit
- einem Häkchen gekennzeichnet. Bei eingeklapptem Menü wird jeweils der
- aktuelle Eintrag angezeigt.
-
-
- 3.2.6. Das Klemmbrett
-
- Das Klemmbrett soll den Datenaustausch zwischen Programmen erleichtern,
- was besonders bei multitaskingfähigen GEM-Versionen praktisch ist. Das
- Klemmbrett ist nichts anderes als ein Ordner auf einem Laufwerk (meist
- dem, von dem gebootet worden ist). Jedes Programm, daß das Klemmbrett
- unterstützt, kann in das Klemmbrett hineinspeichern bzw. von ihm lesen.
- Die Namen der Dateien im Klemmbrett sind vom System vorgegeben, deshalb
- erfolgt auch keine Frage nach einem Dateinamen beim Laden oder Spei-
- chern. So kann ein Programm A eine Datei ins Klemmbrett ablegen und
- Programm B dann sofort danach die Datei aus dem Klemmbrett laden, ohne
- daß dabei irgendwelche Angaben gemacht werden müßten.
-
-
- 3.3. Der Desktop
-
- Seit Version 1.03 besitzt GEMFONT kein eigenes Desktop mehr. Zu diesem
- Schritt entschloß ich mich, da das Desktop von GEMFONT nichts bot, was
- nicht auch über das Menü zu erreichen gewesen wäre. Zudem ist ein
- eigenes Desktop unter MultiGEM und MultiTOS nur hinderlich, wenn es
- nicht mindestens genauso viel bietet wie das Standard-Desktop (und das
- tat es bisher eben nicht).
-
-
- 3.4. Das Editorfenster
-
- 3.4.1. Aufbau
-
- 13
-
- Das Editorfenster besteht aus mehreren Komponenten. Der größte Teil
- nimmt das Editorfeld selbst ein. Im rechten Rand wird das jeweils edi-
- tierte Zeichen in Echtgröße dargestellt. Die Titelzeile zeigt den
- kompletten Dateinamen des Fonts an. In der Infozeile des Fensters wird
- die aktuelle Position des Mauszeigers über der Editorgitter angezeigt
- sowie die Nummer des gerade bearbeiteten Zeichens. Befindet sich die
- Maus außerhalb des Gitters, dann werden keine Koordinaten angezeigt.
- Ein Stern am Anfang der Infozeile zeigt Ihnen, daß Sie den Font seit
- dem letzen Speicher-/Ladevorgang verändert haben.
- Unterhalb der Infozeile befindet sich eine Menüzeile, deren Bedienung
- bereits besprochen wurde. Der Pfeil im unteren Editorrand zeigt auf
- diejenige Pixelspalte, die die letzte rechte benutzte Zeichenspalte
- darstellt. Mit anderen Worten: dieser Pfeil gibt die Breite an. Der
- rechte Rand neben dem vertikalen Slider zeigt die Position der Ausrich-
- tungslinien an. Dabei stehen folgende Buchstaben für folgende Linien:
-
- T Zeichenzellenoberkante ("Top Line")
- A Zeichenoberkante ("Ascent Line")
- H Halblinie ("Half Line")
- G Grundlinie
- D Zeichenunterkante ("Descent Line")
- B Zeichenzellenunterkante ("Bottom Line")
-
- Das eigentliche Editorraster wird durch ein Gitter aus gestrichelten
- Linien gekennzeichnet. Zur besseren Orientierung sind alle Linien, die
- eine Ausrichtungslinie darstellen, von durchgezogenen Linien umgeben.
- Ebenso wird die rechte Linie derjenigen Spalte, die die Breite dar-
- stellt, mit einer durchgezogen Linie gekennzeichnet.
-
-
- 3.4.2. Bedienung
-
- Gesetzte Punkte werden durch ein schwarzes Kästchen im Gitter darge-
- stellt, ungesetzte durch ein weißes Kästchen. Sollte ein Block markiert
- sein, so werden dessen vier Eckpunkte durch ein Diagonalkreuz in den
- jeweiligen Kästchen angezeigt. Punkte, die einen Hilfspunkt darstellen,
- werden grau gerastert angezeigt.
- Punkte werden innerhalb des Editorrasters mit der linken Maustaste
- gesetzt bzw. gelöscht. Dabei wird bei einem Klick der bisherige Zustand
- des Punktes umgekehrt. Das heißt ein Klick auf einen gelöschten Punkt
- setzt diesen Punkt und umgekehrt.
- Sie können mit gedrückter Maustaste gleichzeitig mehrere Punkte bear-
- beiten. Solange Sie die Maustaste drücken, werden alle Punkte, die sie
- mit der Maus berühren, verändert. Ob gelöscht oder gesetzt wird, hängt
- davon ab, welchen Zustand derjenige Punkt unterhalb des Mauspfeils
- hatte, als die Maustaste zu drücken begannen. (Am besten Sie probieren
- das mal aus, dann verstehen Sie alles viel leichter.)
-
-
- 3.5. Bedienung der Fenster über Funktionstasten
-
- Mit den Funktionstasten können Sie bestimmte Fensteranordnungen errei-
- chen, die mit der Maus alleine nur schwer zu erreichen wären:
-
- (Shift F1)
- Damit machen Sie ein Fenster nach dem anderen zum aktuellen.
- Die gleiche Funktion läßt sich über die Standardkombination
- (Control W) erreichen.
-
- (Shift F2)
-
- 14
-
- Das aktuelle Fenster wird auf die kleinsten erlaubten Maße
- verkleinert. Dies ist praktisch, wenn man einmal vor lauter
- Fenstern den Desktop nicht mehr sieht. Mit dem Full-Size-Icon
- des Fensters vergrößern Sie es wieder auf seine vorherigen
- Ausmaße.
- (Shift F3)
- Alle Fenster werden untereinander angeordnet, so daß sie die
- maximale Breite einnehmen und alle die gleiche Höhe haben.
- Sollte bei diesem Vorhaben jedoch ein Fenster zu klein oder
- zu schmal werden, so erscheint eine Meldung und die Fenster
- bleiben unverändert.
-
- (Shift F4)
- Alle Fenster werden nebeneinder angeordnet, so daß sie die
- maximale Höhe einnehmen und alle die gleiche Breite haben.
- Sollte bei diesem Vorhaben jedoch ein Fenster zu klein oder
- zu schmal werden, so erscheint eine Meldung und die Fenster
- bleiben unverändert.
-
- (Shift F5)
- Alle Fenster werden übereinander angeordnet, so daß ihre
- Arbeitsfläche möglich groß ist, jedoch jedes andere Fenster
- direkt ohne Verschieben nach oben gebracht werden kann.
- Sollte bei diesem Vorhaben jedoch ein Fenster zu klein oder
- zu schmal werden, so erscheint eine Meldung und die Fenster
- bleiben unverändert.
-
- Mit den Cursortasten kann der Fensterinhalt zeilen- bzw. spaltenweise
- verschoben werden, wird zusätzlich CONTROL gedrückt, wird Seitenweise
- in die gewünschte Richtung verschoben.
-
-
- 3.6. Sonstige hilfreiche Funktionen
-
- Sollte einmal aufgrund von Redraw-Fehlern der Inhalt eines Fensters
- zerstört worden sein, so genügt ein Druck auf die Tabulator-Taste und
- das aktuelle Fenster wird komplett neu gezeichnet. Halten Sie zudem
- die Shift-Taste gedrückt, so wird der Desktop neugezeichnet, was aber
- nur in schlimmeren Fällen nötig sein sollte.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 15
-
- 4. Das GDOS-Fontformat
- 4.1. Einführung
-
- Bei den Fonts, die GDOS verwendet, handelt es sich um Pixel-Fonts, d.h.
- in einer Zeichenmaske sind Punkte gesetzt bzw. gelöscht, die dann als
- ganzes das Aussehen jedes Zeichens bestimmen.
- Der Vorteil von Pixelfonts ist, daß sie bei "kleinen" Größen besser
- aussehen, dafür bei "großen" Größen viel mehr Speicher verbrauchen.
- Zudem ist ihre algorithmische Handhabung recht einfach.
-
-
- 4.2. Der Aufbau von Fonts
-
- GDOS verwendet ein spezielles Format, in dem die Fonts abgelegt werden.
- Grob gesehen besteht ein Font auf maximal vier Komponenten:
-
- 1.) Der Fontheader. In ihm stehen alle Angaben, die das VDI zum Um-
- gang mit dem Font braucht, angefangen vom Zeichensatznamen bis zu
- den Kursivüberhangsneigungen.
- 2.) Die Horizontale Offset-Tabelle. Sie ist optional und wird nur sehr
- selten verwendet. Mit ihr kann jedes Zeichen vor seiner Ausgabe um
- einen frei bestimmbaren Wert nach links verschoben werden.
- 3.) Die Zeichenbreiten Offset-Tabelle. In ihr ist vermerkt, wie breit
- jedes Zeichen ist. Dies ist besonders bei proportionalen Schriften
- wichtig.
- 4.) Die Zeichendaten. Dies sind die eigentlichen Daten, die das Ausse-
- hen des Fonts bestimmen.
-
- Die Reihenfolge der Teile 2, 3 und 4 ist zwar so nicht zwingend vorge-
- geben, hat sich aber so eingebürgert.
- Jedes Fontfile enthält nur einen Font in einer bestimmten Größe. Soll
- ein Font aus mehreren Größen bestehen, so wird für jede Größe ein
- eigener Font angelegt, wobei alle Fonts die gleichen Einträge id und
- name besitzen.
-
-
- 4.3. Der Fontheader
-
- Der Fontheader enthält alle wichtigen Informationen, deren Kenntnis
- auch bei der Bedienung von GEMFONT wichtig ist. Nachfolgend werden der
- Header und alle seine Einträge erklärt.
- Hinter der Deklaration steht in Klammern der dezimale Offset zum Datei-
- anfang in Bytes. Für alle Nicht-C-Programmierer seien kurz die verwen-
- deten Datentypen erklärt:
-
- char = -128 bis 128 (1 Byte)
- unsigned char = 0 bis 255 (1 Byte)
- short = -32768 bis 32767 (2 Bytes)
- unsigned short = 0 bis 65535 (2 Bytes)
-
- Steht vor dem Variablennamen ein Stern "*", dann bedeutet dies "Zeiger
- auf Datentyp ..."
-
- Noch ein Hinweis: Keine normale VDI-Anwendung braucht sich jemals mit
- dem Aufbau und dem Format von GDOS-Fonts zu beschäftigen. Alle
- Einträge können über entsprechende VDI-Funktion erfragt werden. Diese
- Beschreibung ist nur für das Editieren von GDOS-Fonts wichtig!
-
-
- typedef struct font_hdr
-
- 16
-
- {
- unsigned short id; (0)
-
- Jeder Font verfügt über eine Kennung, an der er eindeutig identi-
- fizierbar ist. Diese Kennung liegt im Bereich von 0 bis 32767. Das
- VDI erkennt seine Fonts ausschließlich an diesem Feld, nicht etwa
- am Fontnamen (name) oder am Filenamen des Fonts, wie manchmal
- fälschlicherweise behauptet wird.
- Manche Programme haben mit IDs größer als 255 oder 127 Schwierig-
- keiten. Dies liegt nicht an GDOS, sondern ist ein Fehler dieser
- Programme!
-
-
- unsigned short point; (2)
-
- Damit wird die Größe des Fonts in typographischen Punkten ange-
- geben (1pt = ca. 0.0351 cm). Zwischen welchen Linien dabei gemes-
- sen wird, ist allerdings nirgends dokumentiert und auch mir noch
- nicht ganz klar. GEMFONT ermittelt die Größe zwischen Grundlinie
- und Zeichenoberkante, weil diese Werte denen aus vielen anderen
- Fonts meist sehr ähnlich sind.
-
-
- char name[32]; (4)
-
- Jeder Font besitzt einen Namen. Dieser wird zwar nicht zwingend
- vom VDI benötigt, kann aber ganz legal erfragt werden und sollte
- alleine schon deshalb immer angegeben werden. Der Name kann maxi-
- mal 32 Zeichen lang sein. Dabei ist man übereingekommen, daß die
- Zeichen 0 bis 15 den Namen des Fonts enthalten (etwa "Times",
- "Swiss") und die Zeichen 16 bis 31 den Stil (etwa "bold" oder "it-
- alic") enthalten. Der String ist nicht zwangsläufig NUL-termi-
- niert.
-
-
- unsigned short first_ade; (36)
- unsigned short last_ade; (38)
-
- Der ASCII-Zeichensatz besteht auch 256 Zeichen, nämlich von 0 bis
- 255 inklusive. VDI ist sogar in der Lage, Fonts mit 65536 Zeichen
- (!) zu verarbeiten, was aber nicht gemacht wird, weil alle Hoch-
- sprachenbindings nicht darauf vorbereitet sind und ein solcher
- Font immens viel Speicher verbrauchen würde.
- Deshalb enthält heute jeder GDOS-Font maximal 256 Zeichen. Um
- noch mehr Speicherplatz zu sparen, kann ein Font auch weniger
- Zeichen enthalten. Zu diesem Zweck kann der Code des ersten und
- des letzten benutzen Zeichens angegeben werden. Eine im englischen
- Sprachraum beliebte Einschränkung sind Fonts, die nur die Zeichen
- 32 bis 127 inklusive enthalten. Dann fehlen zwar die Control-Codes
- sowie alle nichtenglischen Zeichen, doch dies stört in diesem
- Sprachraum nicht. Auf diese Weise werden die Verwaltungstabellen
- kleiner. In der Fontdatei werden nur die tatsächlich benutzten
- Zeichen abgelegt.
- Sollte ein Programm dennoch versuchen, ein Zeichen auszugeben, das
- nicht im Font vorhanden ist, so wird stattdessen ein Fragezeichen
- ausgegeben.
-
-
- unsigned short top; (40)
- unsigned short ascent; (42)
-
- 17
-
- unsigned short half; (44)
- unsigned short descent; (46)
- unsigned short bottom; (48)
- Jeder Font wird mit Hilfe von typographischen Hilfslinien erzeugt.
- Das VDI benutzt dazu sechs horizontale Ausrichtungslinien.
- Zur Veranschaulichung stellen sie sich ein Schreibheft vor, wel-
- ches Schulanfänger benutzen. Dort werden in der Regel Zeilen
- verwendet, die aus vier Linien bestehen. Die zweite Zeile von
- unten ist die Grundlinie (Baseline), die die Unterkante der mei-
- sten Buchstaben darstellt. Die direkt darüberliegende Zeile ist
- die Halblinie (Halfline), die die Oberkante vieler Kleinbuchstaben
- darstellt (etwa a, c, e, o). Die oberste Linie ist die Zeichen-
- oberkante (Ascent Line), die - wie der Name schon sagt - die
- Oberkante der meisten Großbuchstaben darstellt. Schließlich ist
- die unterste Linie die Zeichenunterkante (Descent Line). Sie wird
- nur von wenigen Buchstaben, etwa dem 'g' oder dem 'y' berührt.
- Damit wären also schon einmal vier der sechs Zeilen erklärt.
- Bei der Textausgabe von Zeilen, die untereinander stehen sollen,
- geht man meist so vor, daß die Zeichenoberkante jeder neuen Zeile
- nahtlos an die Zeichenunterkante der vorherigen Zeile anschließt.
- Dabei kann es aber passieren, daß bestimmte Zeichen beider Zeilen
- sich optisch schneiden. Um dies zu verhindern, benutzt das VDI
- zwei weitere Linien. Die Zeichenzellenunterkante (Bottom Line)
- liegt ein wenig unterhalb der Zeichenunterkante, so wie die Zei-
- chenzellenoberkante (Top Line) ein wenig über der Zeichenoberkante
- liegt. Sie bilden damit eine Art Sicherheitsabstand gegen Über-
- schneidungen. Die Zeichenzellenoberkante liegt dabei immer auf der
- Position 0.
- Die Position der Linien ist jedoch nicht absolut, sondern relativ
- zur Grundlinie gespeichert. top gibt den Abstand der Grundlinie
- zur Zeichenzellenoberkannte an. Alle anderen Linienpositionen sind
- relativ zu top angegeben. Ihre absolute Positionen errechnen sich
- wie folgt, die Numerierung beginnt bei 0:
-
- Zeichenzellenoberkante = 0;
- Zeichenoberkante = top - ascent;
- Halblinie = top - half;
- Grundlinie = top;
- Zeichenunterkante = top + descent;
- Zeichenzellenunterkante = top + bottom;
-
-
- unsigned short max_char_width; (50)
- unsigned short max_cell_width; (52)
-
- Diese beiden Felder geben Auskunft über das breiteste Zeichen im
- gesamten Zeichensatz. max_cell_width gibt an, wie breit dieses
- Zeichen laut der Editoreinstellung ist. max_char_width hingegen
- gibt dessen echte Breite an. Die Breiten schließen den linken
- freien Randbereich mit ein!
- Dazu ein Beispiel: Schauen Sie sich den Buchstaben "i" in ihrem
- Systemzeichensatz an. Laut Eintrag in der Zeichenbreitentabelle
- ist er 8 Pixel breit, doch sie sehen, daß er eigentlich schmaler
- ist. Wenn dieses "i" der breiteste Buchstabe wäre, dann enthielte
- max_cell_width den Wert 8. Subtrahiert man den Abstand, der zwi-
- schen dem "i" und seiner rechten Kante liegt, dann erhält man die
- echte Zeichenbreite, max_char_width enthielte dann beispielsweise
- den Wert 6.
-
-
-
- 18
-
- unsigned short left_offset; (54)
- unsigned short right_offset; (56)
- Wenn ein Zeichen geneigt ausgegeben wird, dann ragt es überhalb
- der Grundlinie rechts über seinen Rand, unterhalb der Grundlinie
- über seinen linken Rand. Wie weit es nun herausragt, muß das VDI
- genau wissen, damit die Textausgabe auch bei geneigter Schrift
- halbwegs vernünftig aussieht.
- Wie man diese Werte ermittelt, wurde nie offiziel dokumentiert.
- Eigene Versuche lassen aber auf folgendes Verfahren schließen:
-
- -------
- |*******|
- |*******|
- |*******|
- |*******| <- Grundlinie
- |*******|
- |*******|
- -------
-
- Die Striche um das Zeichen sollen die Zellenkanten andeuten, die
- nicht mehr zum Zeichen gehören. Die Sterne stehen für alle dieje-
- nigen Pixel, die gesetzt werden können, ob sie es tatsächlich
- sind, spielt bei der Kursivausgabe keine Rolle. Wenn dieses Zei-
- chen nun geneigt wird, sieht es wie folgt aus:
-
- -------
- | *******
- | *******
- | *******
- |*******| <- Grundlinie
- ****** |
- ****** |
- -------
-
- Sie sehen, das Zeichen ragt an beiden Seiten über die Zellenränder
- hinaus. Unterhalb der Grundlinie ragt es um zwei Pixel nach links
- über (der Zellenrand gehört nicht mehr zum Zeichen), über der
- Grundlinie ragt es drei Pixel nach rechts. In diesem Fall würde
- left_offset den Wert 2, right_offset den Wert 3 enthalten. (Wahn-
- sinn!)
- Dieses Verfahren ist zweifellos nicht das einfachste, erfordert
- aber keine aufwendigen mathematischen Berechnungen (etwa trigono-
- metrische Funktionen) und ist deshalb recht günstig zu implemen-
- tieren.
-
-
- unsigned short thicken; (58)
-
- Soll ein Zeichen fett dargestellt werden, so wird das Zeichen aus-
- gegeben, und anschließend noch einmal um genau ein Pixel nach
- rechts versetzt erneut ausgegeben. thicken gibt dabei an, wie oft
- dieser Vorgang wiederholt werden soll. Man sollte mit diesem Wert
- sparsam umgehen, meist reicht der Wert 1, bei großen Fonts auch
- der Wert 2, da sonst das Zeichen besonders auf dem Bildschirm so
- sehr "verschmiert", daß es unleserlich wird.
-
-
- unsigned short ul_size; (60)
-
- Beim Unterstreichen wird eine Linie gezogen, die auf der Ausrich-
-
- 19
-
- tungslinie "Zeichenunterkante" liegt. Dieser Wert gibt an, wie
- dick diese Linie ist. Auch hier reichen die Werte 1 oder 2 meist
- vollkommen aus. Das VDI legt die Oberkante des Unterstrichs (ich
- weiß nicht, wie man das richtig nennt) genau auf die Zeichenzel-
- lenunterkante und zeichnet dann eine ul_size Pixel dicke Linie,
- die nach unten hin in wächst.
-
- unsigned short lighten; (62)
-
- Um ein Zeichen "hell" darzustellen, wird ebenfalls ein recht kom-
- plizierter, aber einfach zu implementierender Algorithmus benutzt.
- Wenn Sie ihn nicht verstehen sollten, dann macht das auch nichts.
- Zur aufgehellten Zeichenausgabe wird eine Bitmaske benutzt, mit
- der die Zeichendaten ständig verknüpft wird. Dazu wird von der
- Zeichenzellenoberkante ausgehend die erste Zeile mit lighten UND-
- verknüpft und das Ergebnis dargestellt. Dann wird lighten um ein
- Bit nach links rotiert und die nächste Zeile mit diesem Wert UND-
- verknüpft. Dies geht solange, bis die Zeichenzellenunterkannte
- erreicht wordern ist.
- Die Voreinstellung ist der Wert 0x5555, der bei einem schwarzen
- Zeichen ein Schachbrettmuster ergibt. Dieser Wert paßt immer und
- ergibt auch den besten Effekt.
- Nur wenn der Wert lighten aus einem regelmäßigen Bitmuster be-
- steht, ergeben sich "gutaussehende" helle Zeichen. Bei sehr klei-
- nen Zeichen kann es dennoch passieren, daß es nicht mehr zu erken-
- nen ist, doch dies ist prinzipbedingt.
-
-
- unsigned short skew; (64)
-
- Hier wird es noch komplizierter als bei lighten. Diese Maske be-
- stimmt, wie sehr ein Zeichen bei der Kursivschrift nach rechts
- geneigt sind. Das verwendete Verfahren, das ebenfalls nicht doku-
- mentiert ist, ermöglicht Neigungen zwischen 0 und 45 Grad nach
- rechts.
- Die Berechnung beginnt bei der Zeichenzellenunterkante. Ist Bit 0
- von skew gesetzt, dann wird die auszugebende Zeile um ein Pixel
- nach rechts verschoben, bevor sie ausgegeben wird. Jetzt wird skew
- um ein Bit nach rechts rotiert und die Zeile über der vorherigen
- Zeile bearbeitet. Ist Bit 0 von skew gesetzt, so wird diese Zeile
- um ein Pixel gegenüber der vorherigen Zeile versetzt ausgegeben.
- Das ganze wiederholt sich, bis alle Zeilen ausgegeben sind. (So
- so!)
- Auch hierbei ergeben nur gleichmäßige Bitmuster in skew eine sau-
- bere Neigung, der Standardwert 0x5555 ist immer eine gute Wahl, er
- ergibt eine Neigung von 22,5 Grad. Die maximale Neigung von 45
- Grad kann mit dem Wert 0xFFFF erreicht werden, der Wert 0x0000
- erzeugt keine Neigung.
-
-
- unsigned short flags; (66)
-
- Zur Zeit sind in diesem Wert nur die Bits 0 bis 3 benutzt:
-
- - Bit 0 wird intern vom VDI verwendet. Ist es gesetzt, dann
- gibt es an, ob ein Zeichensatz momentan der aktuelle ist
- (durch vst_font ausgewählt).
- - Ist Bit 1 gesetzt, dann wird die Horizontale Offset Tabelle
- vom Font benutzt.
- - Ist Bit 2 gesetzt, dann liegt der Font im Motorola-Format
-
- 20
-
- vor. Da GEM einst auf dem PC entstanden ist, wurden auch
- einige dort herrschende Konventionen mit auf den Atari über-
- nommen. Auf einem PC liegen unter anderem das High- und Low-
- Byte bei 16-Bit-Wörtern im Gegensatz zum Atari genau ver-
- tauscht vor; dies heißt allgemein "Intel-Format".
- Wenn ein Font im Intel-Format vorliegt, muß er erst einmal
- ins Motorola-Format umgewandelt werden, damit das Atari-GEM
- wieder etwas mit ihm anfangen kann. Damit GDOS nun weiß, in
- welchem Format der Font vorliegt, fragt es dieses Bit ab.
- - Bit 3 zeigt im gesetzten Zustand an, daß alle Zeichen im Font
- die gleiche Breite besitzen, also nicht proportional sind.
- - Alle anderen Bits sind reserviert für Erweiterungen und
- müssen immer auf 0 gesetzt sein.
- Mit Bit 2 hat es so einiges auf sich. Schon bei der Abfrage dieses
- Bits beginnen die Probleme. Liegt der Font im Motorola-Format vor,
- so liegt Bit 2 von flags im Byte 67 relativ zum Dateianfang. Bei
- einer Abfrage von Bit 2 wird also auf Byte 67 zugegriffen. Liegt
- der Font aber im Intel-Format vor, dann sind ja High- und Low-Byte
- vertauscht, Bit 2 liegt jetzt im Byte 66 (in Worten: sechsund-
- sechszig). Um dieses Bit nun abzufragen, müßte man bereits vorher
- wissen, in welchem Format der Font vorliegt. Nur unter der Annah-
- me, daß Bit 10 des Flags niemals benutzt wird, ist eine sichere
- Abfrage möglich.
- Aber abgesehen davon kümmert sich kaum ein Fonteditor um dieses
- Bit. So sind mir bereits Fonts begegnet, die laut flags im Intel-
- Format vorliegen, tatsächlich aber im Motorola-Format abgelegt
- sind, beispielsweise der Font "42nd street".
- Andere Fonts mischen einfach Intel- und Motorola-Format. Als
- Beispiel sei der Font "Gemini" (Filename: GEMINI.FNT; wenn ich
- bloß noch wüßte, woher ich den hatte), der anscheinend in mehre-
- ren Versionen im Umlauf ist, genannt: Laut flags Motorola-Format,
- die Fontdaten ebenfalls im Motorola-Format, die Zeichenbreitenta-
- belle dafür aber im Intel-Format.
- Die Dokumentationen (wenn man das so nennen darf) zu GDOS schrei-
- ben vor, daß die Zeichendaten im gleichen Format vorliegen müssen
- wie der Font selbst, doch dies ist (zumindest für den Atari)
- falsch (oder alle meine Versuchfonts sind falsch). Die Fontdaten
- liegen immer im Motorola-Format vor, egal, ob der Rest des Fonts
- im Intel-Format abgelegt ist oder nicht. Versuche bestätigen diese
- Annahme. Nichtsdestotrotz gibt es einige Fonts, die es besser zu
- wissen glauben.
- Fazit: Auf dieses Bit war bisher kaum Verlaß. Deshalb benutzt GEM-
- FONT komplizierte Plausibilitätsalgorithmen, mit denen das echte
- Format der Tabellen ermittelt wird, um möglichst unabhängig vom
- Format-Bit zu sein. Lediglich beim Format der Fontdaten muß manch-
- mal manuell nachgeholfen werden, sollte einmal ein Font geladen
- werden, dessen Zeichendaten tatsächlich im Intel-Format vorliegen.
- Es versteht sich von selbst, daß GEMFONT beim Speichern auf ein
- korrektes Format der Fonts achtet.
-
-
- unsigned char *hor_table; (68)
-
- Jedes Zeichen kann vor seiner Ausgabe noch einmal um eine bestimm-
- te Anzahl von Pixeln nach rechts verschoben werden. Dazu kann in
- dieser Tabelle jedem Zeichen ein Wert zwischen 0 und 255 zugeord-
- net werden. Bisher nutzt kein mir bekannter Font diese Möglich-
- keit, wahrscheinlich, weil es bisher keinen Fonteditor gab, der
- dies konnte.
- Der Sinn dieser Funktion scheint darin zu liegen, ein einfaches
-
- 21
-
- Zeichenkerning (Unterschneiden von zwei benachbarten Zeichen) zu
- realisieren. Um dies zu verdeutlichen, sehen Sie sich die Buchsta-
- benkombination "Te" an. Besonders bei großen Zeichen klafft zwi-
- schen dem 'T' und dem 'e' eine unansehnliche Lücke, die dadurch
- geschlossen werden könnte, indem man das 'e' näher an das 'T'
- heranschiebt, Platz genug ist ja da. Bei GDOS kann jedoch nur das
- linke Zeichen um einen freien Wert nach rechts verschoben werden,
- als würde das 'T' an das 'e' herangeschoben werden. Beide Zeichen
- überschneiden sich zwar, ohne das es jedoch dabei zur Auslöschung
- eines Teils des rechten Zeichens kommt.
- Mit dieser Methode läßt sich aber nur ein einfaches Kerning reali-
- sieren, denn das Kerning ist bei den Buchstaben 'Te' ein anderer
- Wert als bei 'Tr' oder 'TW' etwa, und genau dies läßt sich mit
- dieser Methode der konstanten Rechtsverschiebung nicht verwirkli-
- chen. GDOS wählt stets für das gerade auszugebende Zeichen ein
- festes Kerning, ohne dabei erst einen Blick auf das nächste Zei-
- chen zu werfen und dann in Abhängigkeit beider Zeichen das Kerning
- auszuwählen, so wie es sein sollte.
- Es scheint zudem vom jeweils aktuellen Treiber (oder gas GDOS?)
- abhängig zu sein, ob tatsächlich der horizontale Offset auch
- berücksichtigt wird. Bei eigenen Versuchen unter NVDI waren jeden-
- falls keine Veränderungen zu erkennen.
- Wird keine Tabelle im Font genutzt, so zeigt dieser Zeiger auf den
- Anfang der nächsten benutzten Komponente (siehe auch Kapitel 4.2).
- Dieser und die beiden nachfolgenden Zeiger geben die Position
- immer relativ zum Dateistart an.
- Diese Tabelle enthält insgesamt (last_ade - first_ade + 1) Einträ-
- ge, sofern sie denn benutzt wird. Der zu dem Zeichencode x gehö-
- rende Eintrag findet sich in (x - first_ade).ten Position in der
- Tabelle.
- Beispiel: last_ade = 32, Zeichen = "2" (Code 50), die Position des
- dazugehörigen Zeichens befindet sich dann an der (50 - 32 =
- 18).ten Position in der Tabelle.
- Wichtig: Die Numerierung der Einträge beginnt bei 0, nicht etwa
- bei 1.
-
- unsigned short *off_table; (72)
-
- Hier wird verzeichnet, wie breit jedes Zeichen ist. Dabei wird
- jedoch nicht einfach in jeden Eintrag die Breite eingetragen.
- Stattdessen wird die X-Koordinate, bei der ein Zeichen im "Font-
- bild" anfängt (siehe Beschreibung dat_table) eingetragen, denn
- dies vereinfacht VDI die Ausgabe mittels den Rasterkopierfunktio-
- nen erheblich. Die echte Breite eines Zeichens errechnet sich dann
- aus der Differenz zwischen der Startposition des gesuchten Zei-
- chens und der Startposition des unmittelbar nachfolgenden Zei-
- chens im "Fontbild". Daraus ergibt sich, daß diese Tabelle einen
- Eintrag mehr enthält als Zeichen benutzt werden.
- Beispiel: Breite des Zeichens mit dem Code x ergibt sich aus
- ((Wert an Position (x + 1 - first_ade)) - (Wert an Position (x-
- first_ade))).
-
-
- unsigned short *dat_table; (76)
-
- Dieser Zeiger zeigt auf die eigentlichen Fontdaten. Erklärung
- folgt. Der Begriff "Fontdaten" wird in der Anleitung für diesen
- Teil des Fonts gebraucht.
-
-
-
- 22
-
- unsigned short form_width; (80)
- unsigned short form_height; (82)
- Stellen sie sich alle Zeichen eines Fonts hintereinander auf einen
- riesigen Bildschirm ausgegeben vor. Genauso sind die Fontdaten im
- Font abgelegt, wie in einem Bild. form_width gibt dabei die Breite
- des Bildes in Bytes an (nicht in Words wie manche behaupten).
- form_height gibt die Höhe des Bildes in Pixeln an. Die Breite be-
- trägt immer ein Vielfaches von 2 Bytes, auch wenn dies nicht doku-
- mentiert ist. Sollte das Bild nicht genau auf einer Bytegrenze
- enden, dann werden soviele leere Pixelspalten an das Fontbild an-
- gehängt, bis die Grenzen stimmen.
-
-
- struct font_hdr *next_font; (84)
-
- Dieser Zeiger wird intern vom VDI benutzt. Die Fonts werden als
- lineare Liste organisiert, und dieser Zeiger zeigt auf den näch-
- sten Font in der Liste. In der Fontdatei sollte er immer auf 0
- gesetzt sind.
-
- } FONT_HDR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 23
-
- 5. Das Hauptmenü
- Viele Dialogboxen besitzen einen Button mit dem Text "Abbruch", "Ende"
- oder ähnlich. Damit kann die ausgewählte Operation abgebrochen werden,
- so daß der gleiche Zustand herrscht wie vor dem Aufruf des Dialogs. Da
- dies bei vielen Dialogen der Fall ist, wird dies nicht mehr gesondert
- erwähnt.
- Entsprechend den GEM-Konventionen können viele Menüpunkte auch per
- Tastatur aktiviert werden, die betreffenden Tastenkombination sind in
- Klammern angegeben. Drei Punkte hinter einem Menütitel bedeuten, daß
- nach der Aktivierung noch mindestens eine Dialogbox folgt, bevor die
- eigentliche Aktion ausgelöst wird.
-
-
- 5.1. Das Menü "GEMFONT"
-
- 5.1.1. "Über GEMFONT..." (Control Z)
-
- Hier finden sie allgemeine Informationen über GEMFONT, unter anderem
- die Versionsnummer und das Erstellungsdatum der Version, die sie benut-
- zen. Inoffizielle Versionen enthalten zur besseren Unterscheidung einen
- kleinen Buchstaben direkt hinter der Nummer, doch werden solche Versio-
- nen normalerweise nicht von mir in Umlauf gebracht.
- Bei Rückfragen bitte immer Versionsnummer- und datum angeben.
-
-
- 5.2. Das Menü "Datei"
-
- 5.2.1. "Neu anlegen..." (Control N)
-
- Mit dieser Funktion können Sie einen neuen Font anlegen. sofern nicht
- bereits sieben Fonts bearbeitet werden.
- GEMFONT fragt Sie nach der Größe des größten Zeichens innerhalb des
- Fonts. Diese Angaben dienen zum Einrichten der Editorpuffer für jedes
- Zeichen, damit nur soviel Speicherplatz verbraucht wird, wie auch
- (wahrscheinlich) benötigt wird. Erfahrungsgemäß sollten Sie hier etwas
- großzügig sein. Sollten Sie sich doch mal verschätzt haben, so können
- Sie die Größe später nachträglich ändern.
-
-
- 5.2.2. "Öffnen..." (Control O)
-
- Sie laden hiermit einen GDOS-Font, den Sie in der Dateiauswahlbox
- auswählen können. Existiert der von Ihnen gewählte Font nicht oder
- sollte es sich dabei nicht um einen GDOS-Font handeln, dann werden Sie
- darauf hingewiesen und die Funktion wird abgebrochen.
- GEMFONT versucht so weit wie möglich zu kontrollieren, ob es sich bei
- der ausgewählten Datei tatsächlich um einen GDOS-Font handelt. Da GDOS-
- Fonts aber keine Magic-Numbers besitzen, ist die Überprüfung nicht
- komplett sicher, zumal einige ähnliche Zeichensatzformate ebenfalls
- die Endung "FNT" besitzen. Deshalb sollten Sie GEMFONT keine Dateien
- unterschieben, die offensichtlich keine GDOS-Fonts sind.
- Da man dem Filenamen allgemein nur schwer ansehen kann, welcher Font
- dahintersteckt, wird eine Informationsbox angezeigt, der Sie die wich-
- tigsten Informationen des Fonts entnehmen können. Dazu gehören der
- Name, die Größe in Punkten, die Breite des breitesten Zeichens sowie
- die Fontflags. In der Box "Konvertierung" stellen Sie ein, ob die
- Zeichendaten konvertiert werden sollen. Dies ist erfahrungsgemäß aber
- nicht nötig, weshalb Sie diese Option nur in Ausnahmefällen aktivieren
- sollten. Sagt Ihnen der Font zu, dann können Sie in laden, ansonsten
- die Funktion abbrechen.
-
- 24
-
-
- 5.2.3. "Schließen..." (Control U)
-
- Es wird das aktuelle Editorfenster geschlossen.
-
-
- 5.2.4. "Sichern" (Control S)
-
- Hier können Sie einen Font im GDOS-Format abspeichern. Falls der Font
- noch keinen Namen besitzt - das ist der Fall, wenn er neu angelegt oder
- importiert wurde, dann werden Sie nach dem Dateinamen gefragt, unter
- dem der Font abgelegt werden soll. Ansonsten wird der Name benutzt, der
- in der Titelzeile des dazugehörigen Fensters steht.
- Sollte GEMFONT feststellen, daß die Ausrichtungslinien noch nicht po-
- sitioniert worden sind, dann werden Sie darauf hingewiesen und der Vor-
- gang abgebrochen. Dies ist deshalb wichtig, weil die Menge der zu spei-
- chernden Fontdaten durch die Position Zeichenzellenunterkante vorgege-
- ben ist. Das heißt im Klartext, das alle Pixelinformationen, die sich
- unterhalb oder Zeichenzellenunterkante oder rechts von der von Ihnen
- eingestellten Breite befinden, nicht mitgespeichert werden. Und wenn
- die Zeichenzellenunterkante noch auf Position 0 liegt, dann gehen alle
- Informationen verloren (ist mir selbst einige Male passiert, deshalb
- diese Vorsichtsmaßnahme).
- Bei der Ermittlung der echten Zeichenbreiten wird der Parameter
- max_char_width korrekt gesetzt. Anschließend werden die Daten zum Font-
- bild zusammengesetzt. Die Flags unter "Fontflags" bestimmen dabei das
- Format der Daten. Dabei wird im Gegensatz zu einigen anderen
- GDOS-Fonteditoren auf das korrekte Format aller Tabellen geachtet.
- Sollte aus irgendeinem Grund ein Fehler beim Speichern auftreten, so
- werden Sie darauf hingewiesen und der Vorgang abgebrochen. Die fehler-
- hafte Datei wird automatisch gelöscht.
- Noch ein Hinweis: GEMFONT setzt den Font vor dem Speichern fix und
- fertig im Speicher zusammen, bevor er auf ein externes Medium kopiert
- wird. Dafür wird Speicherplatz gebraucht, der vorübergehend angefordert
- wird. Deshalb sollten Sie stets darauf achten, nicht den kompletten
- Speicher zu belegen, sonst hat GEMFONT keinen Platz mehr für den Auf-
- bau. Bei der Erstellung von Druckerfonts sollten mindestens 100 KByte
- frei sein (siehe "Speicherstatistik").
- Dieses Verfahren wurde gewählt, um auch in Multitaskingumgebungen
- flexibel zu sein, wo sich ja dauernd die Speicherlandschaft ändert. Das
- ständige Belegen eines Aufbauspeichers, der nur für kurze Zeit genutzt
- wird, würde anderen Applikationen nur Speicherplatz wegnehmen, den Sie
- vielleicht selbst besser brauchen könnten. Dies bringt aber nur etwas,
- wenn auch die anderen Prozesse so kollegial sind.
-
-
- 5.2.5. "Sichern unter..." (Control M)
-
- Hier geschieht das gleiche wie unter "Speichern", doch können Sie einen
- neuen Namen bestimmen, unter dem der Font abgelegt werden soll. Nach
- dem erfolgreichen Speichern werden Sie gefragt, ob Sie den eben ausge-
- wählten Dateinamen übernehmen oder den alten beibehalten wollen.
-
-
- 5.2.6. "Sichern Metafont..." (Control H)
-
- Das Format von GDOS-Metafontdateien ist bis heute nicht dokumentiert
- worden. Eigene Untersuchungen an den wenigen Metfontdateien, die es
- gibt, legen die Vermutung nahe, daß es sich dabei um GDOS-Druckerfonts
- handelt, denen aber die eigentlichen Fontdaten fehlen; sie enthalten
-
- 25
-
- nur die eigentlichen Verwaltungsdaten.
- Wofür die Metafonts gut sein sollen, scheint auch niemand so genau zu
- wissen, jedenfalls ist sich die Literatur nicht einig, ob man überhaupt
- Metafonts braucht oder nicht. Wenn GDOS für die Bearbeitung von Meta-
- file Angaben über die benutzten Fonts braucht, dann könnte es sich die
- auch direkt aus den Druckerfonts selbst beschaffen (denke ich mir
- zumindest).
- Wer genaueres über den Aufbau und Sinn der Metafonts weiß, dem wäre
- ich dankbar, wenn er sich mit mir in Verbindung setzen würde, damit ich
- vielleicht diese Funktion korrigieren kann.
- Kurz noch zur Funktion selbst: Nach der Angabe eines Dateinamens wird
- der momentan bearbeitete Font gespeichert, außer, daß das Fontbild in
- dieser Datei fehlt.
-
- 5.2.7. "Abbrechen..." (Control D)
-
- Wollen Sie alle gemachten Änderungen verwerfen, so können Sie mit die-
- sem Menüpunkt den aktuellen Font erneut einladen. Dies funktioniert
- aber nicht, wenn der Font neu angelegt oder importiert wurde.
-
-
- 5.2.8. "Entfernen..." (Control L)
-
- Es wird der Font, zu dem das aktuelle Editorfenster gehört, aus dem
- Speicher entfernt und sein Platz wieder freigegeben. Wurde der Font
- geändert, so erfolgt vorher eine Sicherheitsabfrage.
-
-
- 5.2.9. "Importieren..." (Control I)
-
- Diese Funktion ist eines der Glanzlichter von GEMFONT. Hier können Sie
- Signum II-Fonts (Editor- und Druckerfonts) als auch Bitmap-Fonts impor-
- tieren. Damit eröffnet sich GDOS eine Vielzahl von teilweise professio-
- nellen Fonts aus der Signum-Welt.
- Da Signum wohl jedem Benutzer ein Begriff ist, erkläre ich nur kurz,
- was Bitmap-Fonts sind: Bitmap-Fonts haben eine konstante Zeichengröße
- von 8x8 oder 8x16 Pixeln (Dateilänge 2048 oder 4096 Bytes), sie enthal-
- ten ausschließlich die Fontdaten aller 256 Zeichen. Der Editor "Tempus"
- oder die Textverarbeitung "Protext" können diese Zeichensätze benutzen,
- um den Systemzeichensatz innerhalb dieser Programme zu ersetzen. Bit-
- map-Fonts spielen für GDOS keine große Rolle, wurden jedoch ihrer Ein-
- fachheit halber implementiert.
- Nach der Anwahl dieser Funktion können Sie das Format angeben, das Sie
- importieren wollen. Sie haben die Auswahl zwischen Signum-Editorfonts,
- Signum-Druckerfonts (egal ob *.L30 oder *.P24) und den Bitmap-Fonts in
- zwei Größen. Haben Sie sich entschieden, dann wählen Sie die entspre-
- chende Datei aus. GEMFONT überprüft, ob die Datei das gewünschte
- Format besitzt und reklamiert Ihre Wahl, wenn dies nicht der Fall ist.
- Bei Signum-Fonts wird die maximale Größe der Zeichen ermittelt. Die
- dabei ermittelten Werte werden Ihnen als neue Größe der Editorpuffer
- vorgeschlagen. Diese Werte können Sie in den meisten Fällen übernehmen.
- Geben Sie kleinere Werte an, dann gehen die Daten, die außerhalb lie-
- gen, verloren. Wollen Sie den Font vergrößern, dann geben Sie dement-
- sprechend größere Werte an.
- Bei manchen Fonts kommt es vor, daß alle Zeichen recht tief unterhalb
- der Zeichenzellenoberkannte liegen. GEMFONT fragt Sie deshalb, ob Sie
- alle Zeichen um einen intern ermittelten Wert höhersetzen wollen. Da
- dieses Verfahren nicht immer funktioniert, sollten Sie den Font zuerst
- unversetzt laden und erst dann entscheiden, ob Sie ihn erneut versetzt
- importieren wollen. Bevor Sie mit der Arbeit beginnen, kontrollieren
-
- 26
-
- Sie unbedingt alle diejenigen Zeichen, die besonders nahe an der oberen
- oder unteren Zeichenzellenkante enden, denn dort kann dann manchmal ein
- Stück verlorengegangen sein.
- Da Signum II-Fonts nur aus 127 Zeichen bestehen, die zudem in einer
- anderen Reihenfolge als dem ASCII-Format abgelegt sind, verteilt GEM-
- FONT die Zeichen so, daß sie mit möglichst vielen ASCII-Zeichen über-
- einstimmen. Probleme gibt es dabei jedoch nur mit denjenigen Zeichen,
- die unter Signum dem externen Ziffernblock zugeordnet werden können,
- dafür gibt es keine äquivalenten ASCII-Positionen. Folgende Tabelle
- zeigt genau, wohin welches Signum-Zeichen gelegt wird:
- S i g n u m - C o d e
-
- x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
- +-------------------------------------------------
- 0x | 0 194 195 196 197 198 199 200 201 202
- 1x | 203 204 205 206 207 208 209 210 211 16
- A 2x | 17 18 19 20 21 22 23 24 25 212
- S 3x | 213 214 221 33 34 35 36 37 38 39
- C 4x | 40 41 42 43 44 45 46 47 48 49
- I 5x | 50 51 52 53 54 55 56 57 58 59
- I 6x | 60 61 62 63 129 65 66 67 68 69
- - 7x | 70 71 72 73 74 75 76 77 78 79
- C 8x | 80 81 82 83 84 85 86 87 88 89
- o 9x | 90 148 154 132 94 95 96 97 98 99
- d 10x | 100 101 102 103 104 105 106 107 108 109
- e 11x | 110 111 112 113 114 115 116 117 118 119
- 12x | 120 121 122 153 124 142 126 158 --- ---
-
-
- Leider müssen viele Signum-Fonts noch per Hand nachbearbeitet werden,
- häufig wegen der Zeichenbreiten, die bei manchen Fonts im Trunkenheits-
- zustand gesetzt worden zu sein scheinen. Doch auch hierfür bietet GEM-
- FONT passende Werkzeuge.
- (Da ich selbst weder Signum noch Script besitzt, fehlt mir auch die
- offizielle Dokumentation der Signum-Fontformate, die vielleicht in den
- Handbücherm zu diesen Programmen abgedruckt ist. Die jetzigen Routinen
- basieren auf einem Quicktip, der in einer Ausgabe der ST-Computer
- erschienen ist. Für weitere Hinweise bezüglich der Formate wäre ich
- sehr dankbar).
- Der Import der Bitmap-Fonts gestaltet sich problemlos, es sind dafür
- keine weiteren Angaben durch den Anwender notwendig.
-
-
- 5.2.10. "Exportieren..."
-
- GEMFONT kann Fonts auch wieder im Bitmap-Format exportieren (für Si-
- gnum-Fonts ist schließlich Skarabus zuständig). Dabei wählen Sie wieder
- die Größe der Fonts aus und geben den Dateinamen an. Achten Sie dar-
- auf, daß alle die Pixel, die außerhalb der 8x8 bzw. 8x16-Grenze liegen,
- im Font verloren gehen.
-
-
- 5.2.11. "Clipboard laden"
-
- Es soll ein Font aus dem Clipboard geladen werden. Dazu muß zum einen
- ein Font im Klemmbrett vorhanden sein und zum anderen überhaupt ein
- Klemmbrett existieren. Danach wird wie bei "Öffnen..." verfahren.
-
-
- 5.2.12. "Clipboard speichern"
-
- 27
-
-
- Ein Font soll ins Klemmbrett gespeichert werden. Auch hierbei muß der
- Zugriff auf das Klemmbrett möglich sein. Sonst wird wie bei
- "Sichern..." verfahren.
- Achtung: Es werden alle Dateien, die sich im Klemmbrett befinden,
- vorher gelöscht!
-
-
- 5.2.13. "Clipboard löschen"
-
- Nach der Bestätigung einer Sicherheitsabfrage werden alle Dateien im
- Klemmbrett gelöscht.
-
-
- 5.2.14. "Ende" (Control Q)
-
-
- Hier kann das Programm verlassen werden. Sollte sich noch ein geänder-
- ter Font im Speicher befinden, so erscheint eine Sicherheitsabfrage,
- die ihnen die Möglichkeit zum Abbruch gibt.
-
-
-
- 5.3. Das Menü "Block"
-
- GEMFONT erlaubt das Markieren eines rechteckigen Teils eines bestimm-
- ten Zeichens. Dieser Ausschnitt wird "Block" genannt und kann ausge-
- schnitten, kopiert oder gelöscht werden und auch zwischen Fonts ausge-
- tauscht werden. Es kann jeweils nur ein Block zu einer Zeit existieren.
-
-
- 5.3.1. "Blockanfang" (Control B)
-
- Die Maus verwandelt sich in ein Fadenkreuz, mit dem Sie auf den Punkt
- im Editorraster klicken können, an dem der Anfangspunkt des Block
- liegen soll. An diesem Punkt erscheint dann als sichtbares Zeichen ein
- Diagonalkreuz, sofern er nicht gesetzt ist. Ein Klick außerhalb des
- Gitters bricht die Funktion ab.
-
-
- 5.3.2. "Blockende" (Control K)
-
- Analog zu "Blockanfang" wählen Sie den Endpunkt des Blocks aus. An
- allen vier Eckpunkten des Blocks erscheint dann ein Diagonalkreuz, der
- Block ist vollständig markiert. Auch hier bricht ein Klick außerhalb
- des Gitters die Funktion ab.
-
-
- 5.3.3. "Alles auswählen" (Control A)
-
- Hier wird ein Block definiert, der die gesamte Editormaske umfaßt. Auf
- diese Weise können schnell komplette Zeichen bearbeitet werden.
-
-
- 5.3.4. "Ausschneiden" (Control X)
-
- Das durch einen Block definierte Rechteck wird aus dem Zeichem, in der
- Block definiert wurde, entfernt (d.h. ein Teil des Zeichens wird ge-
- löscht) und in einen internen Puffer kopiert.
- Diese Funktion kann auch mit den Tasten Backspace und Delete ausgelöst
-
- 28
-
- werden.
-
- 5.3.5. "Kopieren" (Control C)
-
- Wie "Ausschneiden", doch das Gebiet, aus dem der Block ausgeschnitten
- wurde, wird nicht gelöscht.
-
-
- 5.3.6. "Einfügen" (Control V)
-
- Der vorher ausgeschnittene oder kopierte Block kann in ein beliebiges
- Zeichen eines beliebigen Fonts wieder hineinkopiert werden. Dieser Vor-
- gang kann so oft wiederholt werden, bis ein neuer Block definiert wird.
- Die Maus verwandelt sich die wieder in ein Fadenkreuz, mit der Sie die
- linke, obere Ecke angeben, an die der Block kopiert werden soll. Die
- Art, wie der Block eingefügt wird, hängt von der Einstellung "Block-
- kopiermodi..." ab.
-
-
- 5.3.7. "Blockkopiermodi..."
-
- Das Einfügen des Blocks kann auf verschiedene Arten geschehen. Der
- Block kann ersetzend eingesetzt werden oder aber vor dem Einsetzen mit
- dem Zielgebiet verknüpft werden.
- Nach Anwählen dieses Menüpunkts erscheint ein Popup-Menü an der aktuel-
- len Mausposition, wo Sie den neuen Blockkopiermodus einstellen können.
-
-
-
- 5.4. Das Menü "Puffer"
-
- Jeder Font besitzt 10 frei verfügbare Puffer. Diese können vorüberge-
- hend beliebige Zeichen aufnehmen und wieder an beliebige Fontpositionen
- kopieren. Puffer können zudem geladen und gespeichert werden. Der Un-
- terschied zum Block besteht darin, daß Puffer nicht zwischen Fonts aus-
- getauscht werden können (zumindest nicht direkt) und daß nur komplette
- Zeichen in Puffern abgelegt werden können.
-
-
- 5.4.1. "Maske nach Puffer..." (Alternate P)
-
- Das aktuelle Zeichen wird komplett in einen der 10 Puffer, den sie aus-
- wählen können, kopiert.
-
-
- 5.4.2. "Puffer nach Maske..." (Alternate M)
-
- Ein Zeichen aus einem der 10 Puffer, den sie auswählen können, wird in
- den aktuellen Zeichenpuffer kopiert. Dabei wird immer überlagerd ko-
- piert, die Blockkopiermodi wirken sich nicht auf die Pufferfunktionen
- aus.
-
-
- 5.4.3. "Puffer speichern..." (Alternate U)
-
- Ein einzelner Puffer kann auch gespeichert werden. Wählen Sie dazu
- einen Puffer sowie den Dateinamen aus, unter dem er abgespeichert wird.
- Die Pufferdatei sollte immer die Endung "*.GPU" tragen. In sie wird
- neben ein paar Verwaltungsinformationen nur die Fontdaten geschrieben.
-
-
- 29
-
- 5.4.4. "Puffer laden..." (Alternate O)
-
- Ein gespeicherter Puffer wird eingeladen. Dabei kann der Puffer auch in
- andere Fonts außer demjenigen, aus dem er heraus abgespeichert wurde,
- geladen werden. Sollte das Zeichen im Puffer zu groß sein, so wird nur
- der passende Teil kopiert.
- Da man auch dem Dateinamen der Pufferdatei nicht ansieht, was sie
- beinhaltet, zeigt eine Informationsbox die wichtigsten Daten des Puf-
- fers an. Darunter fallen die Zeichenausmaße sowie der Name des Fonts,
- aus dem er ausgeschnitten wurde. Sagt Ihnen der Puffer zu, so können
- Sie ihn anschließend laden.
-
-
- 5.5. Das Menü "Parameter..."
-
-
- 5.5.1. "Speicherstatistik..."
-
- Hier können Sie sich einen Überblick über den aktuellen Speicherver-
- brauch verschaffen. Dabei werden alle sieben Fonts durch ihren Dateina-
- men angezeigt. Dahinter wird angezeigt, wieviel Speicher der Font im
- Editor verbraucht, diese Anzeige ist keineswegs identisch mit der
- Größe, die der Font einmal in gespeicherter Form einnehmen wird! Das
- Kästchen vor dem Dateinamen ist durchkreuzt, wenn der Font inzwischen
- verändert wurde. Ist ein Fontplatz im Speicher nicht belegt, dann wird
- die dazugehörige Zeile grau dargestellt. Der zweite Teil der Dialogbox
- zeigt den momentan freien Betriebssystemspeicher an.
-
-
- 5.5.2. "Parameter einstellen..." (Alternate Q)
-
- GEMFONT erlaubt das Einstellen zahlreicher Parameter:
-
- "Grow-/Shrink-/Move-Boxes anzeigen"
-
- Die Geisterrahmen, die das Öffnen, Verschieben und Schließen von
- Fenstern sowie von Dialogen begleiten, können hier abgeschaltet
- werden. Sie sehen zwar effektvoll aus, halten aber erfahrene An-
- wender meist zulange auf.
-
- "Immer *.FNT als Endung voraussetzen"
-
- GEMFONT kann angewiesen werden, statt der Endung "*.FNT" die
- Endung "*.*" in der Dateiauswahlbox vorauszusetzen. Eine Verände-
- rung dieser Einstellung ist meist unnötig.
-
- "Keine Zusatzmeldungen ausgeben"
-
- Einige Aktionen werden von zusätzlichen Hinweisen zur Bedienung
- oder Warnungen begleitet (z.B. alle Aktionen, die die Maus in ein
- Fadenkreuz zur Auswahl verwandeln). Diese können jedoch lästig
- werden und hier abgeschaltet werden.
-
- "Klingelzeichen bei Alertbox"
-
- Als zusätzliches akustisches Signal kann jede Alert-Box von einem
- "Ping" begleitet werden. Beim Abschluß längerdauernden Aktionen
- wird ebenfalls ein "Ping" ausgegeben.
-
- "Vsync() bei der Ausgabe benutzen"
-
- 30
-
- Bei schnellen GEM-Ausgaben kann es zu optischen Unregelmäßigkei-
- ten wie Flackern kommen. Durch Einschalten der Vsync-Option kann
- dies weitestgehend unterbunden werden. Sollte es Probleme mit
- Grafikkarten geben, dann schalten Sie diese Option ab.
-
- "Fenster dürfen negativen Rand benutzen"
-
- Fenster können zusätzlichen Arbeitsplatz gewinnen, wenn sie ihren
- linken Rand im negativen Koordinantenbereich ablegen (beispiels-
- weise TEMPUS). Dieses Feature funktioniert zwar, ist jedoch nicht
- dokumentiert. Soll es unterbunden werden, so ist dieser Schalter
- zu aktivieren.
-
- "Langsame Dialoge auslagern"
-
- Das Unterbringen von Dialogen in Fensters ermöglicht zwar den
- Mehrprogrammbetrieb, bremst aber dafür den Aufbau und das Redraw
- der Dialoge merklich ab, da ein komplizierteres Verfahren zum
- Erneuern der Darstellung nötig ist (u.a. muß berücksichtigt wer-
- den, ob Teile des Dialogs von anderen Fenstern verdeckt werden.)
- Wer in einer Einprogrammumgebung arbeitet oder es verschmerzen
- kann, wenn GEMFONT einmal für einige Sekunden andere Prozesse
- komplett blockiert, der kann GEMFONT anweisen, besonders zeitin-
- tensive Dialoge normal, also nicht in Fenstern darzustellen. In
- diesem Fall kann die normale und sehr schnelle Redrawroutine
- verwendet werden.
-
- "Vorgabe 'L30' statt 'P24' bei Import"
-
- Wer vorrangig Signum-Laserdruckerfonts importiert, kann einstel-
- len, das statt der Endung "*.P24" (360 DPI) die Endung "*.L30"
- (300 DPI) zur neuen Vorgabe werden soll.
-
- "Zusätzliche Zeilenvorschübe"
-
- Bei der Testausgabe auf einem Drucker führen manche Druckertreiber
- einen oder gar mehrere Seitenvorschübe aus (beispielsweise mein
- NECP.SYS-Treiber aus dem FontGDOS-Paket, der gleich zwei Seiten-
- vorschübe veranläßt). Um das Papier jedoch platzsparend zu nutzen,
- spannen Sie in diesem Fall das Papier wieder an die Anfangsposi-
- tion ein. GEMFONT führt dann selbständig soviele Zeilenvorschübe
- aus, daß unterhalb der letzen Position weitergedruckt wird.
- Führt Ihr Druckertreiber jedoch keinen Seitenvorschub aus, dann
- deaktivieren Sie diesen Schalter.
-
- "Drucker-Reset vor Ausgabe ausführen"
-
- Manche Druckertreiber stellen die von ihnen verstellten Druckerpa-
- rameter nicht mehr zurück (dazu zählt ebenfalls der NECP.SYS-
- Treiber aus dem FontGDOS-Paket). In einem solchen Fall kann GEM-
- FONT vor jeder Druckerausgabe einen Reset auslösen. Dazu wird die
- Kombination "ESC @" verschickt, die auf allen Druckern den ge-
- wünschten Effekt haben sollte.
-
- "Druckernummer"
-
- Die Druckernummer, unter der GDOS den Drucker ansprechen soll,
- kann mit einem Slider zwischen 21 und 30 eingestellt werden. So
- können mehrere Druckertreiber gleichzeitig installiert und benutzt
- werden.
-
- 31
-
- "Klemmbrettüberwachung"
-
- GEMFONT kontrolliert in regelmäßigen Abständen, ob eine andere
- Applikation einen Font im Klemmbrett abgelegt hat. In welchen In-
- tervallen dies erfolgen soll, kann hier eingestellt werden. Beim
- Diskettenbetrieb sollte die Überprüfung komplett abgestellt wer-
- den.
-
-
- 5.5.3. "Parameter speichern..."
-
- Die Parameter können unter dem Namen "GEMFONT.INF" an dem Ort abgespei-
- chert werden, von dem aus auch GEMFONT gestartet wurde. Findet GEMFONT
- diesen Ort nicht, so müssen Sie ihn selbst vorgeben. Geben Sie als
- Dateinamen immer "GEMFONT.INF" an. (Für Fortgeschrittene: GEMFONT sucht
- seine Infodatei mittels shel_find.)
-
-
- 5.6. Das Menü "Fonts"
-
- 5.6.1. "Öffne xxxxxxxx.xxx" (Control 1 bis 7)
-
- Wenn ein Fenster geschlossen wurde, so kann es mit diesem Menüpunkten
- wieder geöffnet werden. Die x's werden dabei durch den Dateinamen des
- Fonts ersetzt. Beachten Sie dabei, daß pro Font nur ein Fenster geöff-
- net werden kann.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 32
-
- 6. Das Editorfenstermenü
- Die hier besprochenen Funktionen sind in ihrer Wirkung ausschließlich
- auf den Font, zu dem dieses Editormenü gehört, beschränkt. Einige der
- Funktionen verlangen explizite Koordinatenangaben. In diesem Fall wird
- die Maus in ein Zielkreuz verwandelt, mit dem Sie dann das Pixel aussu-
- chen, das die gewünschten Koordinaten besitzt. Ein Klick außerhalb des
- Editorrasters wird von GEMFONT als Aufforderung zum Abbruch der Funk-
- tion interpretiert. Bei der Beschreibung wird nicht mehr jedesmal auf
- diesen Umstand hingewiesen.
- Auch hier gilt, daß nahezu alle Dialogboxen eine Abbruchmöglichkeit
- besitzen. In diesem Fall werden die von Ihnen gemachten Änderungen
- innerhalb des Dialogs nicht übernommen.
- Funktionen, die sich auf den ganzen Zeichensatz auswirken, beeinflussen
- nur alle diejenigen Zeichen, die zwischen first_ade und last_ade lie-
- gen.
- Für viele Funktionen gilt: die Beschreibung klingt komplizierter als
- die Wirklichkeit. Deshalb sollten Sie mit allen Funktionen ein wenig
- spielen, um ihre Funktionsweise zu verstehen.
-
-
- 6.1. Das Menü "GEMFONT"
-
- 6.1.1. "Über GEMFONT..."
-
- Dieser Menüpunkt ist identisch mit dem des Hauptmenüs.
-
-
- 6.2. Das Menü "Zeichen"
-
- 6.2.1. "Auswahl..." (Funktionstaste 1)
-
- Hier können Sie das Zeichen auswählen, das Sie bearbeiten wollen. GEM-
- FONT bietet Ihnen drei verschiedene Möglichkeiten, ein bestimmtes Zei-
- chen auszuwählen:
-
- - Mit dem Slider können Sie alle erlaubten Zeichencodes anwählen.
- Dabei wird auf die first_ade und last_ade geachtet.
- - Sie können das Zeichen direkt per Tastatur eingeben. Damit sind
- jedoch nicht alle Zeichencodes erreichbar.
- - Mit "Vorheriges" bzw. "Nachfolgendes" können Sie das Zeichen, das
- unmittelbar vor bzw. nach dem aktuellen Zeichen liegt, auswählen.
-
- Bei der Auswahl ist folgendes zu beachten: Wenn ein Zeichen direkt
- eingeben wird, so wird dessen Code als neues aktuelles Zeichen betrach-
- tet (außer bei "Abbruch"). Die direkte Zeicheneingabe hat dabei Vorrang
- vor der Sliderauswahl. Wurde ein Zeichen direkt eingegeben und die
- Button "Vorheriges" oder "Nachfolgendes" aktiviert, dann haben sie
- keine Wirkung auf den Code des direkt eingegebenen Zeichens. Ist dieses
- Feld leer, dann bezieht sich die Wirkung der Buttons auf das bisherige
- aktuelle Zeichen (Wenn Sie es erst mal verstanden haben, werden Sie die
- Effektivität dieser Auswahl festtellen.)
-
-
- 6.2.2. "Breite" (Funktionstaste 2)
-
- Hier stellen Sie mit dem Fadenkreuz die neue Breite des Zeichens ein.
- Klicken Sie dabei auf diejenige Spalte, die als letzte benutzte Spalte
- gelten soll. Diese Spalte und die links von dieser liegenden gehören
- dann zum benutzten Teil des Zeichen. Da mit dieser Methode die Auswahl
- der Zeichenbreite 0 nicht möglich ist, muß in diesem Fall zusätzlich
-
- 33
-
- beim Mausklick eine der Shift-Tasten gedrückt werden. In diesem Fall
- wird die Breite auf 0 gesetzt, egal in welche Spalte Sie geklickt
- haben.
-
- 6.2.3. "Hor. Verschiebung..." (Alternate V)
-
- Das Einstellen des horizontalen Offsets eines Zeichens geschieht hier.
- Standardmäßig besitzt jedes Zeichen die Verschiebung 0. Insgesamt sind
- nur die Werte 0 bis einschließlich 255 erlaubt.
-
-
- 6.2.4. "Zentrieren..." (Funktionstaste 7)
-
- Das aktuelle Zeichen wird zwischen dem linken Rand und derjenigen
- Spalte, die Sie mit der Funktion "Breite" eingestellt haben, horizontal
- zentriert. Diese Funktion ist wichtig bei Ziffern, die alle die gleiche
- Breite besitzen müssen, da sonst ein Tabellensatz unmöglich ist. (Vie-
- len Signum-Fonts ist dies trotzdem neu.)
-
-
- 6.2.5. "Ausmaß anpassen..." (Funktionstaste 8)
-
- Hier können die Ränder aller Zeichen neu eingestellt werden. GEMFONT
- kann für Sie automatisch die Zeichenober- und unterkanten ermitteln.
- Dazu wird einfach die letzte oberste und unterste benutzte Pixelzeile
- gesucht. (Praktisch bei importierten Fonts.)
- Wenn Sie einen Wert in die editierbaren Felder eingeben, dann positio-
- niert GEMFONT alle Zeichen so, daß sie die von Ihnen vorgegebene
- Anzahl von freien Pixelspalten auf der rechten/linken Seite besitzen.
- Diese Funktionen werden dann aktiviert, wenn Sie einen Wert in ein Feld
- eintragen. Soll die Funktion nicht ausgeführt werden, dann muß dieses
- Feld leer sein. Die von Ihnen eingestellte Breite der einzelnen Zeichen
- wird automatisch angepaßt.
- Die Funktion "Ziffernbreiten anpassen" ermittelt die größte Breite
- aller Ziffern, paßt die Breite aller Ziffern an den gefundenen Maximal-
- wert an und zentriert anschließend alle Ziffern horizontal.
- Die Anpassung der Breite ist besonders bei vielen Signum-Fonts sehr
- hilfreich, eine anschließende Überprüfung und Korrektur von Hand ist
- dennoch nötig.
-
-
- 6.2.6. "Werkzeuge..." (Funktionstaste 3)
-
- An dieser Stelle finden Sie in einem RaveUp-Menü, das an der aktuellen
- Mausposition erscheint, eine Auswahl von nützlichen Zeichenfunktionen.
-
- "Linie"
-
- Nach der Angabe von zwei Koordinatenpunkten wird eine durch-
- gehende Linie gezogen.
-
- "Kreis"
-
- Als erstes gegen Sie den Mittelpunkt des Kreises an, der zweite
- von Ihnen zu setzende Punkt gibt den Radius an, der Rand wird
- durch diesen Punkt verlaufen.
- Genaugenommen wird mit dem zweiten Punkt nur der Radius des
- Kreis(-segmentes) bestimmt, so daß seine Richtung vom Mittelpunkt
- aus betrachtet egal ist.
-
-
- 34
-
- "Rechteck"
- Nach der Angabe der Koordinaten von zwei diagonal gegenüberlie-
- genden Punkten eines Rechtecks wird ein ausgefülltes Rechteck ge-
- zeichnet.
-
- "Rand"
-
- Wie "Rechteck", aber es wird nur der Rand gezeichnet.
-
- "Füllen"
-
- Geben Sie einen Punkt innerhalb einer Umrandung an, die gefüllt
- werden soll.
-
- "Umrandung"
-
- Von dem Zeichen wird nur ein es umgebender Rand gezeichnet. Die
- Ausmaße des Zeichens wachsen in alle Richtungen um ein Pixel.
-
- "Aushöhlen"
-
- Wie "Umrandung", doch von dem Zeichen bleibt nur der Rand stehen.
- Die Ausmaße verändern sich nicht.
-
- "1. Quadrant" bis "4. Quadrant"
-
- Wie "Kreis", aber es wird jeweils nur ein Kreisviertel in dem
- gewählten Quadrant gezeichnet.
-
- "Bogen oben/unten/rechts/links"
-
- Wie "Kreis", aber es wird in der angegebenen Richtung vom Kreis-
- mittelpunkt aus ein Halbkreis gezeichnet.
-
-
- 6.2.7. "Schieben/Rotieren..." (Funktionstaste 4)
-
- Zeichen können um einen beliebigen Wert innerhalb ihrer Maske verscho-
- ben bzw. rotiert werden. Geben Sie dazu die Verschiebe-/Rotierrichtung
- sowie die Anzahl der Pixel an, um die verschoben/rotiert werden soll.
- Ein leeres Wertfeld wird mit dem Wert 1 gleichgesetzt. Beim Schieben
- gehen Pixel, die über den Rand geschoben werden verloren, beim Rotieren
- erscheinen sie hingegen wieder auf der gegenüberliegenden Seite.
-
-
- 6.2.8. "Spiegeln/Drehen..." (Funktionstaste 5)
-
- Zeichen können an ihrer X- oder Y-Achse gespiegelt werden. Zudem
- können Sie um 90, 180 und 270 Grad in beide Richtungen gedreht werden.
- Bei Drehungen um 90 bzw. 270 Grad können Pixel verloren gehen, wenn
- die Breite des Rasters ungleich dessen Höhe ist. Die Drehung um 180
- Grad ist ein Synonym für die Spiegelung an der X-Achse.
-
-
- 6.2.9. "Stauchen/Strecken..." (Funktionstaste 6)
-
- Ein Zeichen kann sowohl vergrößert als auch verkleinert werden. Geben
- Sie dabei an, ob in horizontaler, vertikaler oder in beiden Richtungen
- gestreckt/gestaucht werden soll. Der von Ihnen eingegebene Wert gibt
- das Verhältnis der Größenänderung in Prozent an (Beispiel: Strecken um
-
- 35
-
- den Faktor 2: 2 * 100 = 200, Stauchen um den Faktor 4: (1 / 4) * 100 =
- 0.25 * 100 = 25). Es können auch alle Zeichen um die eingestellten
- Parameter vergößert/verkleinert werden.
- Seit Version 1.10 werden die Vergrößerung und Verkleinerung von zwei
- getrennten Algorithmen behandelt, die jeder für sich neu entwickelt und
- extrem optimiert wurde. Im Gegensatz zum alten Algorithmus konnte die
- Anzahl der Fließkommaoperationen auf einen Minimum gedrückt werden,
- innerhalb der notwendigen Schleifen tauchen nur noch elementare Inte-
- geroperationen auf, was auch der Grund für die Geschwindigkeitssteige-
- rung um den Faktor 10 bis 15 ist.
- Der anzugebende Schwellenfaktor wirkt sich nur bei Verkleinerungen aus:
- es wird errechnet, wieviele Pixel aus dem Quellraster nach einer Ver-
- kleinerung auf den gleichen Punkt im Zielraster fallen, die betroffenen
- Pixel aus dem Quellraster werden zu einem logischen Bildblock zusammen-
- gefaßt. Anschließend wird das Verhältnis der tatsächlich gesetzten
- Punkte in einem solchen Bildblock zu der Anzahl der gesamten Punkte
- darin berechnet, der sich ergebende Koeffizient wird mit dem Schwellen-
- wert verglichen, wird er überschritten, dann wird der Punkt im Zielra-
- ster gesetzt, sonst nicht.
- Ein Schwellenwert von 50 Prozent ist in den meisten Fällen ausreichend,
- doch bei starker Verkleinerung dünnen die Zeichen zu stark aus, der
- Schwellenwert ist hier zu hoch. In solchen Fällen sollte man ihn auf 40
- oder gar 30 Prozent absenken.
- Bei Vergrößerungen stellt sich dieses Problem nicht, da in keinem Fall
- zwei Punkte aus dem Quellraster auf einen gleichen Punkt im Zielraster
- fallen können.
- Die Aktion kann durch Drücken einer Shift-Taste abgebrochen werden, die
- bereits veränderten Zeichen werden nicht in ihren Ursprungszustand
- zurückversetzt.
-
- 6.2.10. "Verfetten"
-
- Hier kann das aktuelle Zeichen horizontal oder vertikal um den Wert 1
- verfettet werden. Der Effekt ist der gleiche wie bei thicken.
-
-
- 6.2.11. "Komplett löschen" (Alternate L)
-
- Die Zeichenmaske wird nach Bestätigung einer Sicherheitsabfrage kom-
- plett gelöscht.
-
-
- 6.2.12. "Zeichen aufräumen"
-
- Bei allen Zeichen werden diejenigen Pixel, die außerhalb der Zeichen-
- zellenunterkante bzw. der Zeichenbreite liegen, gelöscht. Zeichen, in
- denen kein Pixel gesetzt ist, wird die Breite 0 zugewiesen (Ausnahme:
- das Leerzeichen (Code 32)).
-
-
-
- 6.3. Das Menü "Editor"
-
- 6.3.1. "Editormaskengröße..." (Alternate C)
-
- Die von Ihnen gewählte Größe der Editorpuffer kann hier nachträglich
- geändert werden. Dazu muß aber noch mindestens ein Fontplatz unbenutzt
- sein. Bei Verkleinerung der Größe gehen die überstehenden Pixel ohne
- Warnung verloren.
-
-
- 36
-
- 6.3.2. "Editorrastergröße..." (Alternate R)
-
- Die Größe des Editorrasters kann getrennt für die Spalten und Zeilen
- eingestellt werden. Vorgabe sind dabei die Breite des Systemzeichensat-
- zes. Kleine Werte verschaffen einen guten Überblick, bremsen aber den
- Bildschirmaufbau.
-
-
- 6.3.3. "Hilfspunkt setzen" (Funktionstaste 9)
-
- Zur besseren Orientierung beim Entwurf von Zeichen können bis zu 32
- Hilfspunte an frei wählbaren Punkten des Fonts gesetzt werden. Diese
- erscheinen in grauer Rasterung, haben aber sonst keine Auswirkung auf
- den Font.
- Zum Setzen eines Hilfspunkt wählen Sie einfach den gewünschten Punkt
- aus.
-
-
- 6.3.4. "Hilfspunkt löschen" (Alternate W)
-
- Wollen Sie einen Hilfspunkt wieder entfernen, dann können Sie die mit
- dieser Funktion tun. Klicken Sie den zu löschenden Hilfspunkt einfach
- ein.
-
-
- 6.3.5. "Alle Punkte löschen"
-
- Nach Bestätigung einer Sicherheitsabfrage werden alle Hilfspunkte gel-
- öscht.
-
-
- 6.3.6. "Änderungen zurücknehmen" (UNDO)
-
- Wenn Sie ein neues Zeichen auswählen, dann wird dieses Zeichen zusätz-
- lich in einen internen Puffer kopiert, bevor Sie es verändern können.
- Wenn Sie Veränderungen gemacht haben, diese aber wieder rückgängig
- machen wollen, dann können Sie dies mit dieser Funktion tun. Wenn Sie
- ein anderes Zeichen auswählen, dann werden alle Veränderungen am alten
- Zeichen übernommen, eine Rücknahme ist nicht mehr möglich.
-
-
- 6.3.7. "Undopuffer aktualisieren" (Control UNDO)
-
- Diese Funktion finden Sie nicht im Menü, da sie nur selten gebraucht
- wird. Das aktuelle Zeichen wird mit dieser Funktion zu (fast) jedem
- beliebigem Zeitpunkt in den internen Puffer kopiert. Ein Druck auf Undo
- holt dann wieder genau diese Kopie wieder zurück, sofern Sie nicht
- inzwischen ein anderes Zeichen ausgewählt haben. Das manuelle Erneuern
- kann bei bestimmten schwerwiegenden Veränderungen als Sicherung nötig
- sein.
-
-
- 6.4. Das Menü "Fontheader"
-
- 6.4.1. "Zeichenextrema..." (Alternate Z)
-
- Hier stellen Sie die Parameter first_ade und last_ade mittels zweier
- Slider ein.
-
-
-
- 37
-
- 6.4.2. "Fontlinien..." (Alternate A)
- Die Ausrichtungslinien werden hier eingestellt. In einem RaveUp-Menü
- wählen Sie diejenige Linie aus, die sie neu setzen möchten. Anschlie-
- ßend wählen sie Zeile aus, an die die Linie gesetzt werden soll. GEM-
- FONT achtet darauf, daß die Linien in der korrekten Reihenfolge vorlie-
- gen und warnt Sie gegebenfalls. (Ein beliebter Fehler bei alten GDOS-
- Fonts!)
-
-
- 6.4.3. "Fontflags..." (Alternate B)
-
- Die Bits 0 bis 3 des Parameters flags können hier gesetzt bzw. gelöscht
- werden. Deren Bedeutung wurde bereits erklärt.
-
-
- 6.4.4. "Fontkenndaten..." (Alternate D)
-
- Die Parameter name, id und points werden hier eingegeben. GEMFONT kann
- anhand der Ausrichtungslinien selbst den Wert points berechnen, doch
- dabei orientiert das Programm sich an der momentanen Bildschirmauflö-
- sung, weshalb diese Funktion nur für Bildschirmfonts geeignet ist.
-
-
- 6.4.5. "Kursivschrift..." (Alternate K)
-
- Der Wert skew wird hier bitweise eingestellt. left_offset und right-
- _offset werden durch den Button "Größe" automatisch errechnet. Dies ge-
- schieht auch, wenn der Dialog mit "OK" verlassen wurde. Die Buchstaben
- und Zahlen über den Kästchen stehen für das dazugehörige Bit (ausge-
- drükt als Hexadezimalzahl).
-
-
- 6.4.6. "Fettschrift..." (Alternate F)
-
- Hier wird der Wert thicken eingestellt.
-
-
- 6.4.7. "Unterstreichen..." (Alternate G)
-
- Hier wird der Wert ul_size eingestellt.
-
-
- 6.4.8. "Helle Schrift..." (Alternate H)
-
- Der Wert lighten wird hier bitweise eingestellt.
-
-
- 6.5. Schriftproben
-
- Mit der Taste ESC erreichen Sie einen Dialog, mit dem Sie Schriftproben
- auf dem Bildschirm und dem Drucker erstellen können. Sie können entwe-
- der nur das aktuelle Zeichen oder eine von Ihnen vorgegebene Zeichen-
- kette ausgeben lassen. Wenn kein Drucker verfügbar ist, dann ist als
- Ausgabegerät nur der Bildschirm möglich. Wurden bei der Druckerausgabe
- zusätzliche Zeilenvorschübe gewünscht, so wird nach jedem Ausdruck der
- Vorschubszählen automatisch um den Wert 4 erhöht. Sie können aber auch
- eigene Werte vorgeben, beispielsweise 0 beim Beginn einer neuen Seite.
- Seit Version 1.10 ist es endlich möglich, auch die VDI-Textattribute in
- die Schriftprobe mit eingehen zu lassen. Derzeit können die Attribute
- "unterstrichen", "kursiv", "fett" und "hell" beliebig miteinander
-
- 38
-
- kombiniert und in ihrer Wirkung auf die Schrift betrachtet werden. Das
- Attribut "outlined" wird nicht unterstützt, weil es kaum gebraucht wird
- und ich zur Zeit nicht die Notwendigkeit für die (doch recht kompli-
- zierte) Implementierung sehe.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 39
-
- 7. Häufige Fragen, Probleme und Tips
- - viele alte GDOSse (etwa die Versionen 1.0, 1.1 und 1.8 von Atari)
- haben Probleme, Fonts im Motorola-Format zu verarbeiten. Berichten
- zufolge sollen die Reaktionen von leicht verärgert über Pixelmüll
- bis hin zur Bombenstimmung reichen. Da ich nicht selbst solche
- Uraltversionen besitze, muß ich mich hier auf Hörensagen stützen.
- Sollten Sie selbst noch mit solchen veralteten GDOSsen arbeiten,
- so sollten Sie entweder auf Fonts im Motorola-Format verzichten
- oder aber schleunigst auf modernere Versionen umsteigen (bei-
- spielsweise AMC-GDOS oder NVDI).
-
- - Sollten Sie noch mit dem original Atari-GDOS arbeiten (diejenigen
- Versionen vor AMC-GDOS), so rate ich Ihnen dringenst, auf andere
- GDOSse umzusteigen. Dafür sprechen folgende Gründe:
-
- - Die Atari-GDOSse sind stark fehlerbehaftet, vieles funktio-
- niert nicht so, wie es sein sollte, und wenn, dann meist nur
- teilweise.
- - Die Atari-GDOSse bremsen alle Ausgaben über GEM um ca. 30
- Prozent ab (kein Scherz). Dies ist ein unzumutbarer Zustand.
- - Viele Gerätetreiber arbeiten fehlerhaft oder erschrek-
- kend langsam unter Atari-GDOS.
- - Neuere GDOS-Versionen besitzen viele inzwischen weit genutzte
- Erweiterungen.
-
- Sollten Sie noch mit einer solchen Version arbeiten und es gibt
- Probleme mit GEMFONT oder dessen Fonts, so sollten Sie erst einmal
- ein anderes GDOS einsetzen und schauen, ob die Probleme noch
- existent sind, bevor Sie sich an mich wenden.
-
- - Die Installation von GDOS selbst ist besonders für Neulinge oft
- ein echtes Rätsel. Aus verständlichen Gründen verweise ich hier
- auf die Anleitungen zu AMC-GDOS oder NVDI etwa, die sich diesem
- Problem ausführlich annehmen.
-
- - Häufig besteht die Versuchung, einen Font, der in einer bestimmten
- Auflösung fehlt, durch Vergrößerung oder Verkleinerung von bereits
- bestehenden Fonts zu erzeugen. Dies ist durchaus möglich, doch
- sollten Sie sich vor Augen halten, daß die neu entstandenen Fonts
- intensiv nachbearbeitet werden müssen. Trotzdem ist das Ergebnis
- meist nicht unbedingt ästhetisch (beispielsweise das Verhältnis
- Breite zu Höhe), denn das Auge nimmt beispielsweise kleine Fonts
- anders wahr als große Fonts. Also sollte man sich vorher überle-
- gen, ob es nicht sinnvoll wäre, den fehlenden Font komplett neu zu
- erstellen, auch wenn dies viel Arbeit ist, doch das Ergebnis ist
- dann meist wesentlich besser.
-
- - Bei Schriftproben auf 24-Nadeldruckern muß die lighten-Maske sehr
- "löchrig" gewählt werden, da die Standardmaske, die immerhin jedes
- zweite Pixel unterschlägt, ihre Wirkung erst unter einer Lupe ent-
- faltet. Generell kann gesagt, daß bei mageren Fonts die Maske
- "dichter" sein muß als bei fetten Fonts, da sonst die Serifen in
- ihrer Feinheit zu stark Schaden nehmen.
-
-
-
-
-
-
-
-
- 40
-
- 8. Bezugsquellen für GDOS
- 8.1. GDOS
-
- Inzwischen ist GDOS recht weit verbreitet und einfach zu erhalten. AMC-
- GDOS ist bis einschließlich Version 3.21 Public Domain und unter ande-
- rem bei Atari Deutschland gegen Einsendung eines frankierten Rückum-
- schlag inklusive Disketten erhältlich (näheres siehe unten).
- Alle späteren Versionen von AMC-GDOS werden in Zusammenhang mit kommer-
- ziellen Produkten (Version 5 beispielsweise mit X-Act) oder Shareware-
- produkten (eine eingeschränkte Version 4 beispielsweise mit Gemini)
- vertrieben.
- Daneben ist das NVDI in der Version 2.1x wärmstens zu empfehlen, daß
- neben einer deutlichen Bildschirmbeschleunigung auch ein sehr gutes und
- erweitertes GDOS mit sich bringt. NVDI wird von der Firma "Bela Compu-
- ter, Eschborn" vertrieben. Von dieser Firma gibt es auch eine Sammlung
- von einem Druckerfont in den Auflösungen 120, 180, 240, 300 und 360 DPI
- sowie einem Dutzend teilweise gepatchter GDOS-Druckertreiber, über die
- ich jedoch nichts genaueres zu berichten weiß.
- Von Atari USA gibt es ein neues GDOS mit dem Namen FontGDOS. Wesentli-
- che Neuerungen sind die Fähigkeit, Bezierkurven ausgeben zu können
- sowie das Fontcaching, d.h. Fonts werden nur noch bei Bedarf geladen,
- was viel Speicher spart. Zudem liegen diesem Paket eine Fülle von z.T.
- stark optimierten GDOS-Druckertreibern inkl. Konfigurationsprogrammen
- bei; allein dies macht das Paket schon sehr wertvoll.
- Leider bietet FontGDOS auch weniger schöne Seiten; etwa daß es das
- System um ca. 25 Prozent bremst (so gemessen mit meinem TOS 2.05) und
- Probleme mit der Speicherverwaltung sowie einigen nachweislich sauber
- programmierten GEM-Programmen hat (beispielsweise ein krachender Ab-
- sturz beim Polygontest in GEM_TEST.PRG, weil FontGDOS offensichtlich
- davon ausgeht, daß standardmäßig Bezierkurven statt Polygonen verwendet
- werden sollen). Im NewsNet habe ich inzwischen Mitteilungen von anderen
- Anwendern gelesen, die von weiteren z.T. größeren Fehlern berichten.
- Seit Ende April 1993 ist nun endlich Speedo-GDOS für ca. 100,- DM
- erhältlich. Da ich bisher damit keine eigenen Erfahrungen sammeln
- konnte, muß ich mich hier auf die Fachpresse berufen, die sich jedoch
- schon im Vorfeld beeindruckt von der Anzahl und der Hochwertigkeit der
- Schriften zeigt.
-
-
- 8.2. GDOS-Fonts
-
- Bezugsadressen für GDOS-Fonts anzugegen, fällt schwer. Einige Firmen
- legten ihren Produkten einige Fonts bei (beispielsweise EasyDraw), doch
- inzwischen gehen viele Firmen dazu über, nur noch eine absolute Min-
- destanzahl an Fonts (wenn überhaupt) mitzuliefern. In einigen Mailboxen
- und FTP-Servern gibt es Archive, die einen Großteil der verfügbaren
- Fonts erhalten. Leider sind diese Sammlungen nicht vollständig, meist
- fehlen die Druckerfonts, oder es gibt keine Fonts für die mittlere
- Bildschirmauflösung oder Metafonts. Dies liegt jedoch nicht an den
- Zusammenstellern dieser Sammlungen, sondern einfach an dem verfügbaren
- Angebot an Fonts.
- Meines Wissens bietet lediglich Atari selbst GDOS-Fonts im Zusammenhang
- mit dem GDOS-Kit an, das jeder direkt bei Atari beziehen kann. Um
- dieses zu erhalten, schicken Sie einen einen mit 3,00 DM frankierten
- DIN C5 Umschlag, der wiederum einen an sich selbst adressierten gefüt-
- terten DIN C5 Rückumschlag enthält (ebenfalls 3,00 DM), an folgende
- Adresse:
-
-
-
-
- 41
-
- Atari Deutschland GmbH
- Abteilung Kundensupport
- Am Kronberger Hang 2
- D-6231 Schwalbach
- Wichtig: Sie müssen selbst drei Disketten mitschicken (deshalb das hohe
- Porto) sowie in einem kurzen Brief um die Zusendung des GDOS-Kits
- bestehend aus Fonts und Treibern bitten, sonst weiß niemand beim Kun-
- densupport, was Sie wollen. Woraus dieses Kit im einzelnen besteht,
- kann ich (noch) nicht sagen, da ich erst vor kurzem von dieser Möglich-
- keit erfahren habe.
- Professionelle Druckerfonts für 24-Nadler sind mir ansonsten bisher
- nicht untergekommen, angeblich gibt es eine Firma, die kommerziel GDOS-
- Fonts für 300- und 360-DPI Drucker vertreibt, bestätigen kann ich dies
- aber nicht. Lediglich den Atari-Laserdruckern liegen meines Wissens
- einige wenige GDOS-Laserfonts bei. (Ich lasse mich gerne eines anderen
- belehren.)
- Wer dennoch auf hochwertige Fonts angewiesen ist, dem bleibt nur Spee-
- do-GDOS übrig. Die Quantität und Qualität der dazugehörigen Fonts ist
- sehr hoch, doch sollte man sich auch vor Augen halten, das Speedo-
- Fonts kommerziell entwickelt und vertrieben werden. Die Preise für
- einen Font scheinen sich in der gleichen Preisklasse wie für einen
- Calamus-Font einzupendeln und sind damit wohl nur noch für professio-
- nelle und kommerzielle Anwender interessant. Es macht also durchaus
- Sinn, sich weiterhin auch auf dem Gebiet der Pixelfonts zu betätigen!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 42
-
- 9. Interna
- 9.1. Wie alles anfing
-
- GEMFONT besteht grob gesehen aus zwei Teilen: einem selbst program-
- mierten GEM-Skelett, und dem Fonteditor selbst, der auf diesem Skelett
- aufbaut.
- Nach meinen ersten größeren GEM-Projekten stellte ich schnell fest, daß
- bei der Programmierung viele wiederkehrende Routinearbeiten anfallen,
- die sich anbieten, zu eigenen Modulen zusammengefaßt zu werden. So
- entstanden die ersten Module des Skeletts noch unter MWC 3.0.
- Mit der Zeit kamen mehr und mehr Module dazu, um im Herbst 1991 be-
- schloß ich, auf Lattice C 5.5 umzusteigen. Ende Februar 1992 hielt ich
- den Compiler dann endlich in meinen Händen ("... ja, er wird diese
- Woche verschickt!").
- Erneut begann ich, meine GEM-Modulbibliothek auf Lattice C zu portie-
- ren. Doch schon nach wenigen Wochen war ich über dessen miserables,
- völlig unbrauchbares deutsches Handbuch sowie über die regelmäßigen Ab-
- stürze des Optimierers und des Assemblers dermaßen verärgert (das Geld
- hätte ich mir sparen können... §%#@!"§, bitte achten Sie auf die Ein-
- blendung des Schriftzuges "Kommentar" in der linken oberen Ecke... :-),
- daß ich mich entschied, erneut umzusteigen, diesmal auf den GNU C-
- Compiler V2.3.3 der FSF (siehe auch die Artikelserie im ST-Magazin ab
- 8/92). Mit ihm verstand ich mich auf Anhieb bestens, daß Skelett gedieh
- prächtig, bis es Mitte 1992 nahezu ausgewachsen war.
- Um es praktisch einzusetzen, beschloß ich, GEMFONT erneut anzugehen,
- nachdem der erste Versuch vor zwei Jahren aus Zeitmangel gescheitert
- war. Da ich noch auf die Konzepte aus dieser Zeit zurückgreifen konnte,
- entwickelte sich GEMFONT recht schnell, die erste komplette Version
- stand Mitte Oktober 1992.
- Als letztes Problem war die Sache mit dem Copyright zu klären: nach
- langem Hin und Her stand fest, das die von GEMFONT benutzten Bibliothe-
- ken schon seit langer Zeit von ihren Autoren zu "Public Domain" erklärt
- worden waren (insbesondere unterliegen Sie nicht der "GNU Public Licen-
- ce for Libraries") und die von GCC erzeugten Kompilate keinen rechtli-
- chen Verbreitungseinschränkugen unterlagen, so daß der Verbreitung von
- GEMFONT als Shareware nichts mehr im Wege stand (hoffentlich haben die
- mir alle die Wahrheit erzählt... :-})
-
-
- 9.2. Ein paar Fakten
-
- Das komplette Programm besteht z.Z aus ca. 18000 Zeilen (ja richtig,
- GEMFONT ist durch Optimierungen kleiner geworden), die sich auf 32 C-
- Module, 10 Header-Files und 1 kleines Assembler-Modul verteilen und
- insgesamt ungefähr 700 Kbyte Umfang erreicht haben. Sowohl auf das
- Skelett als auch den Editor entfallen je ca. 9000 Zeilen.
- Die Entwicklung fand und findet auf einen Mega STE 4 mit 85 MB-Fest-
- platte statt. Als Compiler wird der (meiner Meinung nach sehr gute)
- GNU-C-Compiler V2.3.3 der Free Software Foundation (FSF) verwendet, den
- ich jedem empfehlen kann, der genug Speicher hat. Als Libraries wurden
- die MiNT-Library PatchLevel 30, die GEM-Library PatchLevel 27 und die
- Portable Math Library PatchLevel 21 verwendet.
- Dabei wurden alle Dateioperationen nicht direkt über das GEMDOS abge-
- wickelt, sondern der MiNT/GNU-Library überlassen, was sich (so hoffe
- ich) positiv auf die Zusammenarbeit mit MiNT und MultiTOS auswirken
- wird. Probleme mit MiNT gibt es jedenfalls nicht (getestet mit MiNT
- 0.96 PatchLevel 14, MiNT 0.99 PatchLevel 2 und MiNT 1.04).
-
-
- 9.3. Laden und Speichern von Fonts
-
- 43
-
- Das GDOS-Fontformat ist zwar recht speicherplatzsparend, aber nur wenig
- zum direkten Editieren geeignet, außer man benutzt aufwendige Algorith-
- men, bei denen ständig große Speichermassen verschoben und kopiert wer-
- den müßten. Ich habe aber den Weg der Einfachheit vorgezogen (ja ja,
- ich weiß...), und deshalb wird der Font bei Laden in einzelne Puffer
- von konstanter Größe ausgepackt. Dies erfolgt auf die gleiche Weise,
- wie das VDI seine Zeichen ausgibt: über die Funktion vro_cpyfm. Da in
- der Character-Offset-Tabelle alle wichtigen Positionen vermerkt sind,
- geschieht dies ohne weiteren Rechenaufwand. Beim Speichern wird genau
- der umgekehrte Weg gegangen: die Puffer werden mittels vro_cpyfm zum
- "Fontbild" zusammengesetzt.
- Darüberhinaus wird vro_cpyfm noch in vielen anderen Funktionen einge-
- setzt, von den Verfremdungsfunktionen bis zu den Pufferfunktionen hin.
- Dies bedeutet, daß die Rasterkopierfunktion unbedingt fehlerfrei funk-
- tionieren müssen, was heute auch bei Grafikkarten aber der Fall sein
- dürfte. Kleiner Nach- oder auch Vorteil: die Geschwindigkeit dieser
- Funktion beeinflußt viele andere Funktionen, so kann ein Blitter oder
- NVDI sie sehr beschleunigen. Eine spezielle Kopierroutine wäre viel-
- leicht schneller ("... das ist dann wieder Arbeit."), dafür wäre der
- Aufwand aber wieder höher ("... wir Informatiker sind von Natur aus
- faul." Hallo Michael!)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 44
-
- 10. Fontregistrierung
- 10.1. Die Idee
-
- Hinter der Idee, GDOS-Fonts "registrieren" zu lassen, steht folgender
- Gedanke: Da jeder Font eine Kennung (ID) besitzt, ist es notwendig, daß
- diese ID nicht mehrfach für verschiedene Fonts vergeben wird. Um dies
- zu verhindern, wird jeder Font registriert, d.h. wichtige Fontdaten
- werden in eine Liste aufgenommen, die allen zugänglich ist (obwohl eine
- mehrfache Belegung nicht so schlimm ist wie beim XBRA-Verfahren). Auf
- diese Weise kann man auch sehen, welche Fonts bereits existieren, damit
- man vielleicht das Rad nicht noch einmal erfindet bzw. zeichnet. Wer
- die XBRA-Registrierung kennt, dem wird dieses Konzept bekannt sein.
- Die jeweils aktuelle Liste wird mit jedem neuem Update verteilt, kann
- aber auch bei mir auf Diskette angefordert werden (gleiches Verfahren
- wie das Anfordern einer Kopie von GEMFONT).
- Natürlich hängt die Zukunft dieser Idee stark davon ab, wie groß die
- Resonanz, sprich die Mitarbeit ist (obwohl man das ja eigentlich gar
- nicht als Arbeit bezeichnen kann). Also ...!
-
-
- 10.2. Die Registrierung
-
- Um einen oder mehrere Fonts in die Liste aufnehmen zu können, benötige
- ich folgende Angaben:
-
- - die Font-Kennung (font_id) (Beispiel: "83")
- - den Font-Namen (Name + Stil) (Beispiel: "Times bold")
- - für welches Ausgabegerät/Auflösung in welchen Größen verfügbar
- (Beispiel: "300 DPI: 8,9,10,12 points, High: 4,6,8 points")
- - Angabe über das Original (Beispiel: "Konvertierte SIGNUM-Schrift
- 'Dutch'", oder "mit GEMFONT erstellt" etc.)
- - Bemerkungen (z.B. Fehler im Header)
- - Bei kommerziell vertriebenen Fonts die vollständige Bezugsadresse.
- Ansonsten geben Sie bitte möglichst genau an, woher man den Font
- bekommen kann (etwa PD-Versand oder bei einem Autor etc.), damit
- auch andere Benutzer diesen bei Bedarf erhalten können.
- - Name und Anschrift des Autors des Fonts (sofern bekannt, wenn
- möglich auch Netz-Adresse (Mailbox, FTP etc.))
-
- In jedem Fall benötige ich für Rückfragen unbedingt die Adresse derje-
- nigen Person, der mir Fonts zur Registrierung anbietet. Sollten Sie
- über InterNet erreichbar sein, dann geben Sie bitte auch ihre Netz-
- adresse an, meine finden Sie weiter oben. Scheuen Sie sich dabei nicht,
- auch Fonts registrieren zu lassen, die nicht von Ihnen stammen. Damit
- die Liste möglichst vollständig wird, erbitte ich auch die Registrie-
- rung von Fonts kommerzieller Produkte. Ebenso bitte ich um Ergänzung
- oder Korrektur von bereits vorhandenen Angaben.
-
-
- 10.3. Anfragen
-
- Anfragen bezüglich Fonts sollten Sie zuerst versuchen, anhand einer
- aktuellen Fontliste abzuklären. Sollten Sie dennoch Fragen haben, so
- können Sie mit mir Kontakt aufnehmen, entweder per Post oder über das
- InterNet. Wenn Sie mir schreiben, legen Sie bitte ausreichend Rückporto
- bei.
-
-
-
-
-
- 45
-
- Antrag auf Registrierung
-
- Hiermit bitte ich um die Registrierung als Anwender von GEMFONT. Meine
- Adresse lautet:
-
- __________________________________________________
- (Vor- und Nachname)
-
- __________________________________________________
- (Straße und Hausnummer)
-
- __________________________________________________
- (PLZ und Ortname)
-
- __________________________________________________
- (Land)
-
-
- Den Sharewarebetrag von DM 30,- zahle ich wie folgt:
-
- [ ] - bar
-
- [ ] - per Scheck (Verrechnungsschecks bitte auf "Sascha Blank"
- ausstellen.)
-
-
- Folgende Angaben sind freiwillig und sollen dem Programmautor lediglich
- helfen, sich besser auf die Ausstattung der Benutzer einstellen zu
- können:
-
- Computer (genaue Bezeichnung): ________________________
-
- Speicherausbau: ______ MByte TOS-Version: ______
-
- Ich besitze folgenden Drucker: ________________________
-
- Er bietet folgende Auflösung (in DPI): ________________
-
-
- Wie sind Sie auf dieses Programm aufmerksam geworden, woher haben Sie
- diese Kopie erhalten?
-
-
- ____________________________________________________________
-
-
- Ich bin damit einverstanden, daß meine Daten zu Verwaltungszwecken
- elektronisch gespeichert werden. Eine Weitergabe an Dritte findet in
- aber keinem Fall statt.
-
-
- ______________________________ ______________________________
- (Unterschrift) (Ort und Datum)
-
-
-